小程序wx.uploadFile上传问题

版权声明:Yangliwei 版权所有 https://blog.csdn.net/qq_32674347/article/details/86702660

1,wx.uploadFile只能同时上传一个文件,不然会报错

2,wx.uploadFile会在返回的结果中包一层,真正返回的在res.data中,是一个字符串,要用JSON.parse(str)转换成json

上传图片实例

// 上传图片
  /* 函数描述:作为上传文件时递归上传的函数体体;
   * 参数描述: 
   * filePaths是文件路径数组
   * successUp是成功上传的个数->0
   * failUp是上传失败的个数->0
   * i是文件路径数组的指标->0
   * length是文件路径数组的长度
   */
  uploadDIY(filePaths, successUp, failUp, i, length) {
    wx.uploadFile({
      url: all.baseurl + 'image/uploadimg',
      filePath: filePaths[i],
      name: 'image',
      formData: {
        title: this.data.title,
        content: this.data.content,
        type: this.data.category
      },
      success: (res) => {
        successUp++;
        // console.log('上传图片成功:', JSON.parse(res.data));
        var data = JSON.parse(res.data);
        // 把获取到的路径存入imagesurl字符串中
        this.data.imagesurl
        this.setData({
          imagesurl: this.data.imagesurl.concat(data.data)
        })
        // console.log(this.data.imagesurl)
      },
      fail: (res) => {
        failUp++;
      },
      complete: () => {
        i++;
        if (i == length) {
          Toast('总共' + successUp + '张上传成功,' + failUp + '张上传失败!');
        } else { //递归调用uploadDIY函数
          this.uploadDIY(filePaths, successUp, failUp, i, length);
        }
      },
    });
  },

猜你喜欢

转载自blog.csdn.net/qq_32674347/article/details/86702660