收藏
回答

云储存成功回调更新页面数据失败

doUpload: function () {
    var that = this;
    // 选择图片
    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success: function (res) {
        wx.showLoading({
          title: '上传中',
        })
        const filePath = res.tempFilePaths[0]
        var fileName = filePath[11] + filePath[12] + filePath[59] + filePath[60] + filePath[101] + filePath[102]
        const cloudPath = fileName + filePath.match(/\.[^.]+?$/)[0]
        // 上传图片
        wx.cloud.uploadFile({
          cloudPath,
          filePath,
          success: res => {
            that.setDate({
              vsimgurl: res.fileID
            })
            console.log('[上传文件] 成功:', res)
          },
          fail: e => {
            console.error('[上传文件] 失败:', e)
            wx.showToast({
              icon: 'none',
              title: '上传失败',
            })
          },
          complete: () => {
            wx.hideLoading()
          }
        })
      },
      fail: e => {
        console.error(e)
      }
    })
  },

上面是我的代码

主要是上传文件成功后回调,需要更新页面图片路径的数据,一直失败,不懂为啥

求大神解答

最后一次编辑于  2018-12-29  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

3 个回答

  • 绿茶
    绿茶
    01-02

    应该是uploadFile中的success回调中的this指向出错了,用在回调之前保存一下this 如const self = this; 回调是时候用self.setState();


    01-02
    赞同
    回复 1
    • 挣钱养家^0^~
      挣钱养家^0^~
      01-02

      亲 不是这个原因 我应经找到了 this下面一个setdate和setdata 我搞错了方法

      01-02
      回复
  • 挣钱养家^0^~
    挣钱养家^0^~
    2018-12-29

    文件是上传成功了 但代码运行到setDate就不动了,也没报错

    2018-12-29
    赞同
    回复
  • 半寸灰
    半寸灰
    2018-12-29

    所以错误信息呢

    2018-12-29
    赞同
    回复 6
    • 挣钱养家^0^~
      挣钱养家^0^~
      2018-12-29

      控制台没有输出任何信息

      2018-12-29
      回复
    • 半寸灰
      半寸灰
      2018-12-29回复挣钱养家^0^~

      其实我想问

      var fileName = filePath[11] + filePath[12] + filePath[59] + filePath[60] + filePath[101] + filePath[102]

      这句是干嘛的 

      2018-12-29
      回复
    • 挣钱养家^0^~
      挣钱养家^0^~
      2018-12-29回复半寸灰

      这是用上传文件的临时路径拼接上传至云的文件名

      2018-12-29
      回复
    • 半寸灰
      半寸灰
      2018-12-29回复挣钱养家^0^~

      如果 filePath 是字符  应该获取不到的

      代码 有没有

      运行

       wx.showLoading({

                title: '上传中',

              })


      这句

      2018-12-29
      回复
    • 挣钱养家^0^~
      挣钱养家^0^~
      2018-12-29回复半寸灰

      有的

      2018-12-29
      回复
    查看更多(1)