zoukankan      html  css  js  c++  java
  • 小程序图片转base64

    1:动态tabBar,item项,相册或者手机拍照
    clickPhoto() {
    var that = this;
    wx.showActionSheet({
    itemList: ['从相册中选择', '拍照'],
    itemColor: "#2874dc",
    success: function (res) {
    if (!res.cancel) {
    if (res.tapIndex == 0) {
    that.chooseWxImageShop('album'); // 从相册中选择

    } else if (res.tapIndex == 1) {
    that.chooseWxImageShop('camera'); // 手机拍照
    }
    }
    }
    })
    },
     
    2:用户选择图片
    chooseWxImageShop: function (type) {
    var that = this;
    wx.chooseImage({
    count: 4, // 允许用户选择几张图片
    sizeType: ['original', 'compressed'],
    sourceType: [type],
    success: function (res) {
    var arr = that.data.photoArr.concat(res.tempFilePaths);
    that.setData({
    photoArr: arr
    })

    var imgArr = [];
    if (arr.length != 0){
    console.log('外层');
    for (var i in arr) {
    // 调函数图片转 base64
    that.urlTobase64(arr[i]).then((res) => {
     
    imgArr.push(res);
    that.baseImgData.imgArr = imgArr;
     
    })
    .catch((res) => {
    // app.setToast('请求失败');
    })
    }
    that.setData({
    baseImgData: imgArr
    })
    }
    },
    fail: function (res) {
    console.log('photo fail', res)
    }
    })
    },
     
    3:图片转base64传临时路径
    urlTobase64(url) {
      return new Promise((resolve, reject) => { // promise 解决异步问题
        wx.request({
          url: url,
          responseType: 'arraybuffer', //最关键的参数,设置返回的数据格式为arraybuffer
          success: (res) => {
            var base64 = wx.arrayBufferToBase64(res.data);
            base64 = 'data:image/jpeg;base64,' + base64;
            resolve(base64);
          },
          fail: (res) => {
            reject(false);
          }
        })
      })
    },
  • 相关阅读:
    数据库设计范式
    SQL 触发器
    SQL查询上月和本月两个月的语句
    angularjs学习总结 详细教程
    指令
    重复 HTML 元素
    AngularJS 数据绑定
    AngularJS 指令.
    AngularJS 数组
    AngularJS 对象
  • 原文地址:https://www.cnblogs.com/youaremysunshine19961002/p/11376920.html
Copyright © 2011-2022 走看看