wx.chooseImage === 從本地相冊選擇圖片或使用相機(jī)拍照
wx.getFileSystemManager() === 獲取全局唯一的文件管理器
wx.getFileSystemManager().readFile === 讀取本地文件內(nèi)容
wx.base64ToArrayBuffer() === 將 Base64 字符串轉(zhuǎn)成 ArrayBuffer 對象
wx.downloadFile === 下載文件資源到本地
從手機(jī)上選擇圖片轉(zhuǎn)base64
getToBase64(){
wx.chooseImage({
count:'1', // 最多可以選擇的圖片張數(shù)
sizeType: ['original', 'compressed'], // ['原圖','壓縮圖']
sourceType: ['album', 'camera'], // ['從相冊選圖','使用相機(jī)']
success: res => {
wx.getFileSystemManager().readFile({
filePath: res.tempFilePaths[0], //選擇圖片返回的相對路徑
encoding: 'base64', //編碼格式
success: res => { //成功的回調(diào)
console.log('data:image/png;base64,' + res.data)
}
})
}
})
},
網(wǎng)絡(luò)圖片轉(zhuǎn)base64圖片
getToBase64Two(){
var httpsimg = 'https://baidu.com/a.jpg' // 網(wǎng)絡(luò)圖片地址
wx.downloadFile({ // 需要先下載
url: httpsimg,
success(res) {
console.log(res,'res')
wx.getFileSystemManager().readFile({
filePath: res.tempFilePath, //選擇圖片返回的相對路徑
encoding: 'base64', //編碼格式
success: res => { //成功的回調(diào)
let userImageBase64 = 'data:image/jpg;base64,' + res.data;
console.log(userImageBase64); // 打印base64格式圖片
}
})
}
})
},
base64圖片轉(zhuǎn)本地圖片
getToLocal(){
var base64data = ""; // base64
const fsm = wx.getFileSystemManager();
const FILE_BASE_NAME = 'tmp_base64src'; //自定義文件名
const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64data) || [];
if (!format) {
return (new Error('ERROR_BASE64SRC_PARSE'));
}
const filePath = `${wx.env.USER_DATA_PATH}/${FILE_BASE_NAME}.${format}`;
const buffer = wx.base64ToArrayBuffer(bodyData);
fsm.writeFile({
filePath,
data: buffer,
encoding: 'binary',
success(r) {
console.log(r,'r')
console.log(filePath,'filePath')
},
fail() {
return (new Error('ERROR_BASE64SRC_WRITE'));
},
});
},