收藏
回答

wx.downloadFile 重复下载同一张图片会报错 download fail?

版本:微信安卓7.03,机型:魅族16thpus

ios7.02测试正常

代码片段: https://developers.weixin.qq.com/s/0M0wwumF7rgu

备注:不同的图片路径循环下载没有问题,一旦有相同的就会报错。

开发工具下载没问题,安卓真机调试回报download fail

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

2 个回答

  • 小程序技术专员-binnie
    小程序技术专员-binnie
    2020-04-13

    不支持这样的调用哦,因为临时存储路径是根据url计算的,每个下载又都是相互隔离的,这里连续下载两个相同url会导致两个问题

    1.两个线程同时操作这个临时存储路径,内容很可能是错乱的

    2.文件移除后不存在,返回ERR_OP_FAIL

    2020-04-13
    有用
    回复 7
    • 李英杰
      李英杰
      2020-04-23
      这种实现方式感觉不友好啊,如果业务上需要用户在下载多个文件这种场景,需要代码层面去判断,需要判断是不是有正在下载中的同url文件。如果指定filepath的话,是不是可以避免这种情况?
      2020-04-23
      回复
    • 小程序技术专员-binnie
      小程序技术专员-binnie
      2020-04-23回复李英杰
      可以的
      2020-04-23
      回复
    • 李英杰
      李英杰
      2020-04-23
      不过指定了filepath的话又有大小限制。如果需要开启多个下载任务,为了避免这种情况,开发时是不是需要全局维护一个正在下载的文件的url为key的map,下载前检查这个map中此url是否存在,不存在的话,可进行下载;存在的话搞一套发布订阅的机制。突然感觉有点儿复杂,手动流泪。
      还是说我想复杂了
      2020-04-23
      回复
    • 小程序技术专员-binnie
      小程序技术专员-binnie
      2020-04-24回复李英杰
      同一个url为啥要下载多次呢?
      2020-04-24
      回复
    • 李英杰
      李英杰
      2020-04-24
      一个大gif图片的列表页面A和gif图介绍详情页面B,从A可以进入到B。产品需求来了个诡异的展现形式:图片可以接受loading,但是不能接受图片卡帧,只要显示必须流畅播完。A和B页面的开发人还不一样,各自起了wx.downloadFile,下载完毕后图片src指向临时路径。
      2020-04-24
      回复
    查看更多(2)
  • G.Y
    G.Y
    2020-04-09

    哎,每次找错都需要费一番功夫了,相同的代码之前是可以的,然后突然就不可以了。作为小程序开发者,我表示很疼

    2020-04-09
    有用
    回复 1
    • Alex
      Alex
      2020-04-10
      同样问题,安卓手机 华为mate9 和 小米mix2S 都出现了同样问题, 表现是下载不了,提示download fail。求助官方
      2020-04-10
      回复
登录 后发表内容
问题标签