微信小程序 拍照从相册中选择图片

微信小程序 拍照从相册中选择图片,第1张

微信小程序提供的众多API中,wx.chooseImage函数就是用来访问手机相册或摄像头的。调用该函数后,界面下方会呼出一个菜单,可以分别选择进入相册挑选已有照片或是打开摄像头进行拍照:

我们往WXML里新添一个按钮,点击该按钮就会触发wx.chooseImage的调用:

  
                    
                        +
                        经营场所门头照
                        图片格式支持:png、jpg、bmp、jpeg
                        图片大小:≤ 2M
                    
                    
                    
                
  // 上传图片 ok
  uploadPictures(e) {
    let pictype = e.currentTarget.dataset.type;
    let _this = this;
    wx.chooseImage({
      count: 1, // 默认9
      sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图
      sourceType: ["camera", "album"], // 可以指定来源是相册还是相机
      success: function (res) {
        let tempFilePaths = res.tempFiles[0].path;
        let size = res.tempFiles[0].size;
        // 判断图片是否超过大小
        if (size > 2097152) {
          return wx.showModal({
            content: "图片大小超过2M!",
            showCancel: false,
          });
        }
        // 判断图片类型
        let type = tempFilePaths.split(".")[1];
        if (!["png", "jpg", "bmp", "jpeg"].includes(type)) {
          return wx.showModal({
            content: "图片类型不支持!",
            showCancel: false,
          });
        }
        _this.upLoadPic(res.tempFilePaths[0], pictype);
      },
    });
  },
// 图片上传 赋值 ok
  upLoadPic(tmpPath, picType) {
    let _this = this;
    wx.showLoading({ title: "处理中", mask: true });
    wx.uploadFile({
      url:  接口地址,
      header: {
        "content-type": "multipart/form-data",
        Authorization: "Bearer " + (wx.getStorageSync("token") || ""),
      },
      name: "file",
      dataType: "json",
      filePath: tmpPath, // 这个是图片的path
      formData: { // 这里是你要传的别的参数
        picType,
      },
      success: function (res) {
        let d = JSON.parse(res.data); 
        wx.hideLoading();
        if (d.code == 0) {       
          let obj = {
          '02': ["licenseInfoDTO.lpLicFrontPic", "picData.mlpLicFont"], //法人身份z正面
          '03': ["licenseInfoDTO.lpLicBackPic", "picData.mlpLicBack"], //法人身份z反 
          } 
          _this.setData({
            [obj[picType][0]]: JSON.stringify(d.data), // 接口数据
            [obj[picType][1]]: d.data.picUrl, // 页面展示数据
          }); 
          console.log(_this.data.picData, '展示数据');
          console.log(_this.data.licenseInfoDTO, '提交数据');
        } else {
          wx.showModal({
            content: d.msg,
            showCancel: false,
          });
        }
      },
      fail: function (err) {
        console.log(err);
      },
    });
  },

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/992860.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存