零充
零充
  • 发布:2022-07-21 22:41
  • 更新:2022-11-28 11:45
  • 阅读:3938

uni.downloadFile 异常downloadFile:fail createDownloadTask:fail exceed max download connection count 10

分类:uni-app

运行目环境,微信小程序
用的vue3版本,uniapp的版本是3.0.0-alpha-3050220220719002,CLI创建的项目。

目的是为了,先下载图片到本地临时目录。然后绘图,生成海报。
希望的操作流程就是,进到商品详情,下载商品图片生成海报,然后到下一个商品详情,再次下载新图片,再生成海报。如果客户喜欢,就一直循环下去。

部分代码,没有加任何逻辑。。
下载用这个试过,用Promise包起来,做同步await发起也试过。问题一样。

按钮@click触发

uni.downloadFile({  
      url: goods.arr.image,  //网络图片  https://xxxxx.com/xxx.jpg 这个域名在微信安全白名单内  
      success: function (res) {  
           // console.log('生成商品图片成功');  
           tmpGoodsImagePath= res.tempFilePath;  
      },  
      fail: function (err) {  
           console.log(err);  
      },  
});

然后另外一个方法用来生成海报。

const ctx = uni.createCanvasContext('goodsCanvas', instance);  
....  
ctx.drawImage(tmpGoodsImagePath, 0, 0, WIDTH, WIDTH);

只要下载成功,生成海报这个就没有问题,正常。。。

但是下载这个。大概率报错:downloadFile:fail createDownloadTask:fail exceed max download connection count 10。
生产、开发环境都一样,开始能下个3-5张图片,然后就下不了了,一直报上面的错误。只能拖时间等,不管他,等个几分钟,半小时,几小时,然后又能下载生成几张海报,然后再次继续报错。

试过建一个微信小程序原生项目。用Promise包起来,用wx.downloadFile循环100次。100次全部成功,
但是在当前项目,同样的代码。不用uni.downloadFile,用wx.downloadFile,也不行,也是报同样的错误。
有人遇到过这情况不?

2022-07-21 22:41 负责人:无 分享
已邀请:
FullStack

FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866

超过最大下载连接数 10个,不要并发,下载一个完,再执行下一个

  • 零充 (作者)

    就是看这个提示才奇怪,完全没有并发。。

    流程是进入商品详情页,这个时候只是正常的浏览加载图片,没有调用下载。。

    只有点击,生成海报按钮才会下载,而且就只下载商品图,然后其他的全是canvas绘图。

    所以,我在下载3-5次成功生成海报后,再来点。就不行了,下载失败,并发下载限制10..

    如果他告诉我,下载失败,暂存盘已满,这样的话也知道方向,去找怎么清uniapp临时下载目录。但是他提示并发,这就郁闷了,并发数为1啊。

    2022-07-22 09:46

零充

零充 (作者) - 80后IT男...

除非是uniapp的uni.downloadFile方法,在下载完成后没有清除下载队列,就有可能会造成队列满了。。
但是我清掉小程序缓存也不行。而且如果是这个BUG,论坛早喊起来了。所以应该是我这边没找到方向。

smileMa

smileMa

你好请问最后是怎么解决的呢?我也遇到跟你一样的问题,vue3+ts+uniapp,只执行一次downloadFile,开发者工具上总是报并非最大10个,但是在真机上就不报错

  • 1***@qq.com

    我也遇到了,我只使用了一次 微信开发工具提示我这个 预览和真机调试则没有问题

    2023-01-09 10:31

要回复问题请先登录注册