新的微信里出现了
【FileSystemManager.readFile(Object object)】方法
可以直接指定读取文件的编码格式。
那么filePath使用chooseImage 获得的文件零时路径 不就可以获得 base64 的图片文件了么?
试了一下 以下代码可行
insertImage(event) {
console.log('InsertImg', event);
Taro.chooseImage({
count: 1,
sizeType: [ 'original', 'compressed' ],
sourceType: [ 'album', 'camera' ]
})
.then(async (res) => {
let file = await fileToBase64(res.tempFilePaths[0]);
console.log(file);
if (file) {
this.EditorContext.insertImage({ src: `data:image.jpeg;base64,${file}` });
}
})
.catch((err) => {
console.error(err);
});
// this.EditorContext.insertImage();
}
export const fileToBase64 = (filePath) => {
return new Promise((resolve, reject) => {
let fileManager = Taro.getFileSystemManager();
fileManager.readFile({
filePath,
encoding: 'base64',
success: (e: any) => {
resolve(e.data);
}
});
});
};