微信小程序wx.downloadFile报错 no such file or directory

微信小程序wx.downloadFile报错 no such file or directory

function down_file() {
  var _this = this;
  var path = wx.getStorageSync('savedFilePath')
  if(path) {
    console.log(path)
    accessFile(path)
    return
  }
  
  const downloadTask=wx.downloadFile({
    // url: 'https://img1.baidu.com/it/u=2587712331,3494235667&fm=253&fmt=auto&app=120&f=JPEG?w=320&h=180', 
    url: 'http://yd.m2_api.*******.cc:8180/smLogger?do=downLoad',
    success: function (res) {
      // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
     if(res.statusCode === 200){
        wx.saveFile({
          tempFilePath: res.tempFilePath,
          success (res) {
            wx.setStorageSync('savedFilePath', res.savedFilePath)
            accessFile(res.savedFilePath)

          },
          fail(err) {
            console.log(err)
          }
        })
     }
    },
    fail:function(err) {
      console.log(err)
    }
  })
  downloadTask.onProgressUpdate((res) => {
    console.log('下载进度', res.progress)
    console.log('已经下载的数据长度', res.totalBytesWritten)
    console.log('预期需要下载的数据总长度', res.totalBytesExpectedToWrite)
  })
}

前几次调用接口时正常下载,后面开始报错

在这里插入图片描述
根据报错信息发现是该路径下没有tmp文件夹,导致错误,所以在该路径下创建了tmp文件,可成功下载

mac创建该文件时注意有个空格需要转码
在这里插入图片描述
创建之后就可以正常调用啦

还有一个注意点就是,不要清缓存,清除之后需要重新创建tmp文件夹,但是在调试器清除storage不会影响

在这里插入图片描述

目前微信官方说在一个预发布版本已解决此bug

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值