收藏
回答

getFileSystemManager().renameSync?

调用getFileSystemManager().renameSync 提示

MiniProgramError

renameSync:fail permission denied, 

安卓手机没有问题,苹果手机就提示这个问题,请教各位大佬,看有没有解决办法?


wx.getFileSystemManager().renameSync(res.tempFilePath,newPath)
md.export({
                  success(result) => {
                    console.log(result)
                    let tempArr1 = result.tempFilePath.split("//")
                    let tempArr2 = tempArr1[1].split("/")
                    let tempArr3 = tempArr2[tempArr2.length-1].split(".");
                    let tempString2=''
                    for(let i=0;i-1;i++){
                        tempString2+=tempArr2[i]+"/"
                    }
                    let newPath = tempArr1[0]+"//"+tempString2+new Date().getTime()+".mp3";
                    //导出新视频的名字每次都是一样的,估计有缓存什么的,我用时间戳重命名新导出的文件
                    fsm.renameSync(result.tempFilePath,newPath)
                    // 4.移除内容,清空容器
                    console.log(newPath)
                    var mtime = app.format(e.duration/1000);
                    that.setData({ voice:newPath, recordOn''text'录制完成'mtime: mtime});
                    md.removeTrack(videoKind)
                    md.removeTrack(videoKind1)
                    wx.hideLoading()
                }
                })

appid: wxb6eb697aaecc0279

回答关注问题邀请回答
收藏

2 个回答

  • 哄哄
    哄哄
    2021-04-25

    您好,这个问题解决了吗

    2021-04-25
    有用
    回复
  • Admin ²º²⁴
    Admin ²º²⁴
    2020-08-17

    这个提示是没有权限,安卓下能成功说明有权限了。理论上也是不成功的

    你安卓root过了吗?能操作权限的文件夹目前小程序可能只有:${wx.env.USER_DATA_PATH}

    你可以把tempFilePath定位到这个文件夹下,然后进行重命名相关操作


    2020-08-17
    有用
    回复 2
    • 2020-08-17
      安卓没有root过,苹果的话就只能在这个文件夹下才可以操作吗?
      2020-08-17
      回复
    • 2020-08-17
      要把tempFilePath写入到文件夹下面是吧
      2020-08-17
      回复
登录 后发表内容
问题标签