有可能后台有返回前面的data:image;base64, 由于多了这个,导致方法调用失败,不报错,就是成功。去掉问题就解决了,下面是方法,附上一段去掉的正则表达式
代码:
base64src: function (base64data, callback) {
var reg = new RegExp('^data:image/png;base64,', 'g');
base64data = base64data.replace(reg, '');
let filePath = `${wx.env.USER_DATA_PATH}/$111111`;
wx.getFileSystemManager().writeFile({
filePath: filePath,
data: wx.base64ToArrayBuffer(base64data),
encoding: 'binary',
success: () => {
console.log('写入成功, 路径: ', filePath);
callback(filePath);
// resolve(filePath);
},
fail: err => {
console.log('写入失败:', err);
},
});
},
要用promise的自己用promise转同步