实际应用中后端获取三方图片文件返回 C 端产品使用图片为临时图片,文件服务端不做存储。需要用到文件流转换成图片呈现给客户
图片流转 base64(页面 images 标签 src 中插入 imageBase64
)
async streamFileToImage() {
// 这里请求获取流文件接口
const res = await getImgStream();
// 成功执行
if (res.data.code === '0') {
// 请求接口,注:请求一定是 responseType 等于 arraybuffer
const base64 = wx.arrayBufferToBase64(res.data);
this.setData({
imageBase64: `data:image/jpg;base64,${base64}`
});
}
}
本地图片转 base64(页面 images 标签 src 中插入 imageBase64
)
async imagesToBase64() {
// 获取本地图片
wx.chooseImage({
success (res) {
const tempFilePaths = res.tempFilePaths;
const fileManager = wx.getFileSystemManager(); // 创建文件管理器
const imageBase64 = fileManager.readFileSync(tempFilePaths[0], 'base64'); // 读取本地文件,直接得到base64
this.setData({
imageBase64: imageBase64
});
}
})
}