微信小程序> 【微信小程序开发笔记】上传多个文件超过10个

【微信小程序开发笔记】上传多个文件超过10个

浏览量:623 时间: 来源:_lafen

【小程序笔记】wx.uploadFile(OBJECT)

先说说遇到的问题:

小程序可通过wx.uploadFile(OBJECT)接口上传手机文件至服务器,但是在文档中关于请求中有这么一段说明:

 
     
  • request、uploadFile、downloadFile 的最大并发限制是 10 个
  •  

意思就是这三个接口请求并发数不能超过10个,否则报以下错误

 

uploadFile:fail exceed max upload connection count 10

  • 但是业务场景总会需要堆砌一些复杂的功能,比如需要上传多张照片到服务器啊,需要一张一张的上传,等等。

  • 既然不能一下子上传多个文件,那就用最简单的方法完成复杂的功能即可,先上传完一张再上传下一张,哈哈

具体看看主要两个方法:

/**  * 上传照片//选择图片时限制9张,如需超过9张,同理亦可参照此方法上传多张照片  */uploadImg:function(){   var that = this;   wx.chooseImage({       count: 9,           sizeType: ['original', 'compressed'],           sourceType: ['album', 'camera'],           success: function(res){               var successUp = 0; //成功               var failUp = 0; //失败               var length = res.tempFilePaths.length; //总数               var count = 0; //第几张              that.uploadOneByOne(res.tempFilePaths,successUp,failUp,count,length);           },           });},/**  * 采用递归的方式上传  */ uploadOneByOne(imgPaths,successUp, failUp, count, length){   var that = this;   wx.showLoading({      title: '正在上传第'+count+'张',    })   wx.uploadFile({     url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址     filePath: imgPaths[count],     name: count,//示例,使用顺序给文件命名     success:function(e){       successUp++;//成功+1     },     fail:function(e){       failUp++;//失败+1     },     complete:function(e){       count++;//下一张       if(count == length){         //上传完毕,作一下提示         console.log('上传成功' + successUp + ',' + '失败' + failUp);         wx.showToast({           title: '上传成功' + successUp,           icon: 'success',           duration: 2000         })       }else{         //递归调用,上传下一张         that.uploadOneByOne(imgPaths, successUp, failUp, count, length);         console.log('正在上传第' + count + '张');       }     }   }) },

注释比较详细,可以看到方法比较简单,示例只做9张图片的上传,可使用for循环调用上传文件的接口,但是在某些特定的场景下,需要考虑可能需要上传多张的需求,可使用此方法一张一张的上传,如果需要控制前一张上传完才能进行下一张的上传,此方法亦非常适用,可以做一些成功和失败的处理,看场景需要而定


参考:小程序一次性上传多个本地图片,上拉加载照片以及图片加载延迟解决之道 …

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎