微信小程序 - 本地图片临时路径转base64 和 远程图片转base64

本地临时图片路径转base64

base64({url,type}){
      return new Promise((resolve, reject) => {
        wx.getFileSystemManager().readFile({
          filePath: url, //选择图片返回的相对路径
          encoding: 'base64', //编码格式
          success: res => {
            resolve('data:image/' + type.toLocaleLowerCase() + ';base64,' + res.data)
          },
          fail: res => reject(res.errMsg)
        })
      })
}

文档地址:wx.getFileSystemManager.readFile 

fn(){
    let that = this
    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success(res) {
        const tempFilePath = res.tempFilePaths[0]
        that.base64({
            url:tempFilePath,
            type:'png'
        }).then(res=>{
            console.log(res)//res是base64路径
        })
      }
    })
}

base64 支持类型 

合法值类型 说明
data:, 文本数据
data:text/plain, 文本数据
data:text/html,  HTML代码
data:text/html;base64, base64编码的HTML代码
data:text/css,  CSS代码
data:text/css;base64, base64编码的CSS代码
data:text/JavaScript,  Javascript代码
data:text/javascript;base64,  base64编码的Javascript代码
data:image/gif;base64,  base64编码的gif图片数据
data:image/png;base64,  base64编码的png图片数据
data:image/jpeg;base64,  base64编码的jpeg图片数据
data:image/x-icon;base64,  base64编码的icon图片数据

 

远程图片转base64

base64({url,type}){
      return new Promise((resolve,rejiect)=>{
        wx.request({
          url: url,
          responseType: 'arraybuffer',
          success: res => {
            let base64Url = wx.arrayBufferToBase64(res.data);//把arraybuffer转成base64
            resolve('data:image/' + type.toLocaleLowerCase() + ';base64,' + base64Url)
          }
        });
      })
}

 

你可能感兴趣的:(微信小程序 - 本地图片临时路径转base64 和 远程图片转base64)