收藏
回答

fs.write保存后台返回的excel文件二进制数据,wx.saveFile保存文件报文件不存在

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.saveFile,fs.writeFile,wx.request 工具 7.0.6 2.5.1

如下代码获取到的二进制excel文件数据在调用wx.saveFile时报错errMsg"saveFile:fail tempFilePath file not exist"

  1. JAVA后端返回Excel文件二进制流

  2. 调用wx.request获取到Excel二进制数据

  3. 调用fs.writeFile将二进制数据写进临时文件

  4. 调用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)
        }
      })
  }
})


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

1 个回答

登录 后发表内容
问题标签