处理 ** API getFileSystemManager is not yet implemented** 问题
wx.chooseImage({
success: res => {
let base64 = wx.getFileSystemManager().readFileSync(res.tempFilePaths[0], 'base64');
}
})
wx.canvasToTempFilePath({
success: res => {
let base64 = wx.getFileSystemManager().readFileSync(res, 'base64');
}
});
对应到 uniapp,将 wx 换成 uni 即可。如:
# 该方法在微信小程序中可行,混编的 h5 不行,可通过条件编译处理
uni.getFileSystemManager().readFileSync(r, 'base64');
# 处理如下
// 将网络图片转换成 base64 各不相同
// #ifdef APP-PLUS
uni.request({
url: this.extra.topic.thumbnail,
method: 'GET',
responseType: "arraybuffer",
success: res => {
const arrayBuffer = new Uint8Array(res.data); //先将本地图片路径转换成array类型
const base64Img = uni.arrayBufferToBase64(arrayBuffer); //再转换成base64类型
}
});
// #endif
// #ifdef MP
uni.getImageInfo({
src: this.extra.topic.thumbnail,
success: res => {
if (res.errMsg == 'getImageInfo:ok') {
const base64Img = uni.getFileSystemManager().readFileSync(res.path, 'base64');
}
},
fail: error => {
this.extra.topic = null;
}
});
// #endif