微信小程序中图片上传

最近在做一个微信小程序商城的项目,交易评价页面用到了上传图像功能,这里进行一下整理:
WXML


      
      +
    

JS

// 大致流程:
//1.从相册中选择照片,获得图片在手机端的路径,用该路径在页面上显示选中的图片,达到预览的效果,然后把该路径传给 wx.uploadFile。
  choosePic: function (res) {
    var that = this;
    wx.chooseImage({
      count: 3,
      sizeType: ['original', 'compressed'],
      sourceType: ['album'],
      success(res) {
        imgyulan.push(res.tempFilePaths[0]);
        that.setData({
          imgyulan: imgyulan //前端显示图片
        })
        that.getpath(res.tempFilePaths[0]);
      }
    })
  },
// 2.wx.uploadFile用该路径拿到图片并传给后台,后台把图片存到服务器上,然后返回图片在服务器上的存储路径。
 //上传图片 一般是单独路径的请求路径,不与其他请求路径通用(直传文件流,不用cmd方式接收)
  getpath: function (url) {
    var that = this;
    wx.uploadFile({
      url: app.globalData.baseUrlimg + "/pics",//将图片传到服务器的请求路径
      filePath: url,//图片在手机里的存储路径
      name: 'file',
      formData: {
        "type": 1
      },
      success(res) {
        const data = JSON.parse(res.data);
        imgpic.push({ "img":data.picsUrl});//应后台要求,用json对象的形式回传图片的路径,
        if (that.data.imgyulan.length>=3){//这里限制最多上传3张图片,超过的话,添加图片的按钮自动消失
           that.setData({
             showorhide:false
           })
         }else{
           that.setData({
             showorhide: true
           })
         }
      }
    })
//3.前端接收该路径后,并把该路径传回服务器存储起来,在页面上渲染该图片时,只需从服务器,请求存储的图片路径即可。即,将 imgpic传回服务器,这里不再赘述。
  },

你可能感兴趣的:(微信小程序中图片上传)