频道栏目
首页 > 资讯 > 微信小程序 > 正文

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

18-11-29        来源:[db:作者]  
收藏   我要投稿

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

方法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":[

    ]
}
相关TAG标签
上一篇:vue 项目快速输出微信、支付宝、百度小程序-教程
下一篇:用大型开发框架开发小程序那点事儿
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站