微信小程序----封装上传图片以及获取图片【wx.chooseMedia wx.uploadFile】

微信小程序----封装上传图片以及获取图片【wx.chooseMedia wx.uploadFile】

封装的js

// 选择图片
function chooseMedia() {
    
    
  return new Promise((resolve, reject)=>{
    
    
    wx.chooseMedia({
    
    
      count: 1,
      mediaType: ['image'],
      sourceType: ['album', 'camera'],
      maxDuration: 30,
      camera: 'back',
      success: (res) => {
    
    
        let tempFilePath = res.tempFiles[0].tempFilePath;
        resolve(tempFilePath)
      },
      fail:(res)=>{
    
    
        reject(res)
      }
    })
  })
  
}

// 上传图片到服务器
function uploadFile() {
    
    
  return new Promise((resolve, reject)=>{
    
    
    wx.showLoading();
    chooseMedia().then(path=>{
    
    
      wx.uploadFile({
    
      
        filePath: path,
        name: 'avatar',
        url: getApp().globalData.baseURL + 'login/uploadAvatar',
        formData: {
    
    
          'data': 'bank_img'
        },
        success: (res) => {
    
    
          wx.hideLoading();
          const datas = JSON.parse(res.data); //把数据字符串转变成对象
          resolve(datas)
        },
        fail:(res)=>{
    
    
          reject(res)
        }
      })
    })
  })
}
module.exports = {
    
    
  uploadFile
}

调用封装的函数

<view class="imgt" bindtap="upimgBtn">
      <image class="imgz boRadius50" src="{
     
     {avatarUrl ||'/images/arv.png'}}" mode="aspectFill"></image>
</view>
const proFunc = require('../../utils/profunc');
//上传图片到服务器
  upimgBtn() {
    
    
    let t = this;
    proFunc.uploadFile().then(res => {
    
    
      let avatarUrl= res.data.complete_img;
      t.setData({
    
    
            avatarUrl,
          })
      })
  },

猜你喜欢

转载自blog.csdn.net/heavenz19/article/details/129237749