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!
