标签:tmp default 相册 util manager odi 画布 exec data
在微信小程序中 canvas drawImage API 传入的第一个参数是 imageResource 图片资源路径,这个参数通常由从相册选择图片 wx.chooseImage 或 wx.getImageInfo 获取图片信息来获得。
而 base64 格式图片数据,无法被 getImageInfo 直接调用,以下是解决方案:
以下是具体的 base64src.js 函数代码,注意写文件时去掉 base64 的头信息:
const fsm = wx.getFileSystemManager(); const FILE_BASE_NAME = ‘tmp_base64src‘; const base64src = function(base64data) { return new Promise((resolve, reject) => { const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64data) || []; if (!format) { reject(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() { resolve(filePath); }, fail() { reject(new Error(‘ERROR_BASE64SRC_WRITE‘)); }, }); }); }; export default base64src;
微信小程序 base64 图片 canvas 画布 drawImage 实现
标签:tmp default 相册 util manager odi 画布 exec data
原文地址:https://www.cnblogs.com/kaiye/p/9909304.html