麻烦官方答复下 谢谢。
现在有base64图片数据,需要上传到服务器。有没好的方法,我看论坛有不少用canvas的方法。
各位大神还有其它方法吗
网上找了个方法,已经测试过了可以正常上传base64的图片到服务器。
逻辑上就是先把现有的base64数据,通过FileSystemManager保存成临时文件。
然后使用upload上传,下面是源码
const fsm = wx.getFileSystemManager();
const FILE_BASE_NAME = ‘tmp_base64src’;
const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64str) || [];
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() {
wx.uploadFile({
url: `后台配置的服务器路径`,
filePath: filePath,
name:‘file’,
success: res,
fail: rej,
header: headers,
})
},
fail() {
return (new Error(‘ERROR_BASE64SRC_WRITE’));
}
})