全网小程序上传图片,上传视频

240 阅读1分钟

下面的写的是上传图片、上传视频都是通过后台接口上传的。

上传图片

// 上传图片按钮方法
articIcoTab(e) {
  this.chooseImage().then(res => {
    obj.img = res.url
    obj.delImg = res.deleteurl
    addList.push(obj)
    this.setData({
      addList
    })
  }).catch(err => {
    console.log('err', err)
  })
}
// 上传图片封装方法
chooseImage() {
  return new Promise((resolve, reject) => {
    wx.chooseImage({
      count: 1,
      sizeType: ['original','compressed'],
      sourceType: ['album', 'camera'],
      success: res => {
        const filePath = res.tempFilePaths[0]
        // console.log(filePath)
        util.showLoading('上传中....')
        wx.uploadFile({
          url: `${APP.config.server}/minipro/wxArticle/article/file/upload`,
          filePath: filePath,
          name: 'file',
          formData: {
            type: 0
          },
          header: {  
            "Content-Type": "multipart/form-data",
            "accept": 'application/json',
            "token" : APP.config.token
          },
          success: res => {
            util.hideLoading()
            // console.log(res)
            util.showToast('上传成功',1)
            let list = ''
            if(res.data) {
              list = JSON.parse(res.data)
            }
            // console.log(list)
            resolve(list)
          },
          fail: err => {
            console.log('err', err)
            reject(err)
          }
        })

      },
      fail: e => {
        console.error(e)
        reject(e)
      }
    })
  })

},

上传视频

// 上传图片按钮方法
articIcoTab(e) {
  this.chooseVideo().then(res => {
    obj.video = res.url
    obj.delVideo = res.deleteurl
    addList.push(obj)
    this.setData({
      addList
    })
  }).catch(err => {
    console.log('视频上传失败', err)
  })
},
// 上传视频封装方法
chooseVideo() {
  return new Promise((resolve, reject) => {
    wx.chooseVideo({
      sourceType: ['album', 'camera'],
      compressed: true,
      maxDuration: 60,
      camera: 'back',
      success: res => {
        // console.log(res.tempFilePath);
        const filePath = res.tempFilePath;
        util.showLoading('上传中....')
        wx.uploadFile({
          url: `${APP.config.server}/minipro/wxArticle/article/file/upload`,
          filePath: filePath,
          name: 'file',
          formData: {
            type: 1
          },
          header: {  
            "Content-Type": "multipart/form-data",
            "accept": 'application/json',
            "token" : APP.config.token
          },
          success: res => {
            util.hideLoading()
            console.log('视频上传成功', res)
            util.showToast('上传成功',1)
            let list = ''
            if(res.data) {
              list = JSON.parse(res.data)
            }
            // console.log(list)
            resolve(list)
          },
          fail: err => {
            console.log('err', err)
            reject(err)
          }
        })
      }
    })
  })
},