收藏
回答

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

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
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)
        }
      })
  }
})


最后一次编辑于  09-26
回答关注问题邀请回答
收藏

1 个回答

问题标签