fs.write保存后台返回的excel文件二进制数据,为什么wx.saveFile报文件不存在?
关键代码如下所示:
wx.request({ url:url, method: 'post' , data:data, responseType: 'arraybuffer' , success: function (res){ const fs = wx.getFileSystemManager() let path = `${wx.env.USER_DATA_PATH}/hello.xls` fs.writeFile({ filePath: path, data: res.data, encoding: 'binary' , success(res){ wx.saveFile({ tempFilePath: path, success (result) { console.log(result) }, fail (result) { console.log(result) } }) }, fail(error) { console.log(error) } }) } }) |
wx.request向后台请求excel文件二进制数据,保存二进制数据到ArrayBuffer中,fs.write保存ArrayBuffer中的数据到临时文件中,然后通过wx.saveFile将临时文件保存时报错:errMsg: “saveFile:fail tempFilePath file not exist”
此外:fs.writeFile的success回调函数中的result是errMsg: “writeFile:ok”,这是表示write成功了还是write失败了?
求解怎么将后台返回的二进制excel文件保存到用户文件夹中?情况特殊,不能用wx.uploadFile,因为后端只能接收post而wx.uploadFile只能发送Get!
1 回复
麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)