微信小程序多文件上传(递归)

发布时间:2019-06-13 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了微信小程序多文件上传(递归)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

微信小程序官网社区有申明微信小程序无法多文件上传,所以要通过递归进行多文件上传。
网上得上传例子都不满足我的要求,如下是我的代码,希望能给予参考。

方法upload单文件上传 方法uploaDFils多文件上传


  export function uploadFils(url, filePathArr) {
    return uploadFilsSync(url, filePathArr, 0, { success: [], fail: [] });
  }

  function uploadFilsSync(url, filePathArr, index, result) {
    return upload(url, filePathArr[index++], {})
      .then(res => {
        result.success.push({ index: index, res: res });
        if (index === filePathArr.length) {
          return result;
        } else {
          return uploadFilsSync(url, filePathArr, index, result);
        }
      })
      .catch(err => {
        result.fail.push({ index: index, res: err });
        if (index === filePathArr.length) {
          return result;
        } else {
          return uploadFilsSync(url, filePathArr, index, result);
        }
      });
  }
  
     export function upload(url, filePath, formData = {}) {
    let header = { "Content-Type": "multipart/form-data" };
    return new PRomise((resolve, reject) => {
      wx.uploadFile({
        url: config.server + url,
        header: header,
        filePath: filePath,
        name: "file",
        formData: formData,
        success(res) {
          resolve(res.data);
        },
        fail: function(error) {
          reject(error);
        }
      });
    });
  }
  

返回结果:

index:第几个上传文件,res做为上传结果

{
    "success":[
        {
            "index":1,
            "res":{
                "data":"123"
            }
        }
    ],
    "fail":[

    ]
}

脚本宝典总结

以上是脚本宝典为你收集整理的微信小程序多文件上传(递归)全部内容,希望文章能够帮你解决微信小程序多文件上传(递归)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。