请问解决了吗?
在ios版本下,FileSystemManager.saveFile 无法保存临时文件https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html 复现片段(取消es6转es5)https://developers.weixin.qq.com/s/vZjPxBmB7Tfk ipad 4 系统版本13.3.1 微信版本7.0.5 let { statusCode, tempFilePath } = await wx.cloud.downloadFile({ fileID }) let tmp = tempFilePath.indexOf('?') if (tmp != -1) tempFilePath = tempFilePath.slice(0, tmp) //在ios下,下载的临时文件带有skip参数无法保存,会抛出无效参数,因此要做剪裁去掉参数,但是剪裁掉后还是无法保存。再看下面。 if (statusCode == 200) wx.getFileSystemManager().saveFile({ tempFilePath, success: res => console.log('success',res), fail: res => console.log('fail', res) //在这里会抛出一个saveFile:fail move to savedFilePath fail。直接调用wx.saveFile接口也一样。 //按照设计是移动临时文件保存,但在这里会移动失败。这错误码在文档里面也没有特别说明。 }) 以上两个问题都只存在于ios版本,具体是ipad,android下,两个问题都不存在。 代码可以直接运行复现。只需给一个fileID。
2022-08-10请问解决了吗
FileSystemManager.saveFile在ios报错?使用FileSystemManager的writeFile后调用saveFile接口后在ios上报错,提示saveFile fail it is not a tempFilePath,在安卓上是没有问题的 基础调试库版本:2.24.1 代码: const fileName = `${formatDate(new Date(),'yyyymmdd')}.xlsx` const path = `${wx.env.USER_DATA_PATH}/${fileName}` console.log('path',path) fs.writeFile({ filePath: path, data: res, success(res) { console.log('writeFile success',res) fs.saveFile({ tempFilePath: path, filePath: path, success(res) { console.log('saveFile success',res,path) _this.tui.toast("保存成功") setTimeout(() => { uni.navigateTo({ url: `./preview?path=${path}&fileName=${fileName}` }) },1000) }, fail(res) { console.log('fail',res) } }); }, fail(err) { console.log('writeFile fail',err) } }) ios上报错截图: [图片]
2022-08-10请问解决了吗
savefile在ios下提示saveFile:fail it is not a tempFile?调用wriefile写入文件,然后再调用savefile保存该文件,在安卓上可以正常保存并且打开文件,在ios上调用savefile会提示saveFile:fail it is not a tempfile,传入的tempfile就是writefile写入时的路径,请问是什么问题?
2022-08-10