直接上代碼了,網上也很多一樣的,這里記錄下,因為僅僅第二種在真機微信小程序上我這里測試轉換失敗,所以就一並寫在這里了:
//圖片轉base64
urlTobase64(url){ // #ifdef MP-WEIXIN
uni.getFileSystemManager().readFile({ filePath: url, //選擇圖片返回的相對路徑
encoding: 'base64', //編碼格式
success: res => { //成功的回調
console.log(res); let base64 = 'data:image/jpeg;base64,' + res.data //不加上這串字符,在頁面無法顯示的哦 },fail: (e) => { console.log("圖片轉換失敗"); } }) // #endif
// #ifndef MP-WEIXIN
uni.request({ url: url, method:'GET', responseType:'arraybuffer', success: ress => { let base64 = wx.arrayBufferToBase64(ress.data); //把arraybuffer轉成base64
base64 = 'data:image/jpeg;base64,' + base64 //不加上這串字符,在頁面無法顯示的哦 },fail: (e) => { console.log("圖片轉換失敗"); } }) // #endif
}