微信小程序wx.uploadFile的两个坑

--

setImage:function(e){
    var _this = this  //坑1
    wx.chooseImage({
      count: 1, 
      sizeType: ['original', 'compressed'], 
      sourceType: ['album', 'camera'], 
      success: function (res) {
        var tempFilePaths = res.tempFilePaths
        console.log(tempFilePaths)
        wx.uploadFile({
          url: app.globalData.myhost+'customer-header?access_token='+app.globalData.itoken,
          filePath: tempFilePaths[0],
          name: 'uploadFile',
          formData: {
            'userId': app.globalData.iuserId
          },
          success: function (res) {var data = JSON.parse(res.data)  //坑2:与wx.request不同,wx.uploadFile返回的是[字符串],需要自己转为JSON格式
            console.log('上传成功')
            _this.setData({    //坑1:wx.uploadFile本身有一个this,所以要通过外部var _this = this 把this带进来
              headerImageUrl: data.headerImageUrl
            })
            console.log('刷新成功')
          }
        })
      }
    })
  },

--