實(shí)際應(yīng)用中后端獲取三方圖片文件返回 C 端產(chǎn)品使用圖片為臨時(shí)圖片,文件服務(wù)端不做存儲(chǔ)。需要用到文件流轉(zhuǎn)換成圖片呈現(xiàn)給客戶
圖片流轉(zhuǎn) base64(頁面 images 標(biāo)簽 src 中插入 imageBase64
)
async streamFileToImage() {
// 這里請(qǐng)求獲取流文件接口
const res = await getImgStream();
// 成功執(zhí)行
if (res.data.code === '0') {
// 請(qǐng)求接口,注:請(qǐng)求一定是 responseType 等于 arraybuffer
const base64 = wx.arrayBufferToBase64(res.data);
this.setData({
imageBase64: `data:image/jpg;base64,${base64}`
});
}
}
本地圖片轉(zhuǎn) base64(頁面 images 標(biāo)簽 src 中插入 imageBase64
)
async imagesToBase64() {
// 獲取本地圖片
wx.chooseImage({
success (res) {
const tempFilePaths = res.tempFilePaths;
const fileManager = wx.getFileSystemManager(); // 創(chuàng)建文件管理器
const imageBase64 = fileManager.readFileSync(tempFilePaths[0], 'base64'); // 讀取本地文件,直接得到base64
this.setData({
imageBase64: imageBase64
});
}
})
}