将微信小程序的图片转成base64 点击此链接看另一篇
以下是将后端返回的base64转成图片:
方法1:使用微信小程序自带方法
//把base64转换成图片getBase64ImageUrl: (base64Url) {/// 获取到base64Datavar base64Data = base64Url;/// 通过微信小程序自带方法将base64转为二进制去除特殊符号,再转回base64base64Data = wx.arrayBufferToBase64(wx.base64ToArrayBuffer(base64Data));/// 拼接请求头,data格式可以为image/png或者image/jpeg等,看需求const base64ImgUrl = "data:image/png;base64," + base64Data;/// 得到的base64ImgUrl直接给图片:src使用即可return base64ImgUrl;},
方法2:引用base64.js
2.1步骤1:先新建一个base64.js文件
const fsm = wx.getFileSystemManager();
const FILE_BASE_NAME = 'tmp_base64src'; //自定义文件名function base64src(base64data, cb) {const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64data) || [];if (!format) {return (new Error('ERROR_BASE64SRC_PARSE'));}const filePath = `${wx.env.USER_DATA_PATH}/${FILE_BASE_NAME}.${format}`;const buffer = wx.base64ToArrayBuffer(bodyData);fsm.writeFile({filePath,data: buffer,encoding: 'binary',success() {cb(filePath);},fail() {return (new Error('ERROR_BASE64SRC_WRITE'));},});
};
module.exports = base64src;
2.2步骤2:在需要使用的页面引入方法在使用
var base64src = require('./base64.js')getBase64ImgUrl:(res){//拿到后端给的base64字符串var shareQrImg = `data:image/jpg;base64,` + res.data.base64base64src(shareQrImg, resCurrent => {this.imgUrl = resCurrent//resCurrent就是base64转换后的图片,直接给图片对的:src即可})
}