方法
function imgToBase64(url, callback) {
// #ifdef MP-WEIXIN
uni.getFileSystemManager().readFile({
filePath: url, //选择图片返回的相对路径
encoding: 'base64', //编码格式
success: res => { //成功的回调
// console.log(res, '返回结果');
let base64 = res.data
callback && callback(base64)
},
fail: (e) => {
console.log("图片转换失败");
}
})
// #endif
// #ifdef APP-PLUS
plus.io.resolveLocalFileSystemURL(url, (entry) => {
entry.file((file) => {
let fileReader = new plus.io.FileReader();
fileReader.onloadend = (e) => {
callback && callback(e.target.result)
};
fileReader.readAsDataURL(file);
})
})
// #endif
}
调用
chooseImage(){
let that = this
// 选择图片
uni.chooseImage({
count:9,
sizeType:'compressed',
success:file=>{
// 遍历所选择的图片
file.tempFilePaths.forEach(item => {
// 调用封装的方法 将图片转为base64格式
that.imgToBase64(item, base => {
// 后台接口
that.$post('api/index/upfileurl', {
image: base
}).then(res => {
if (res.data.code == 1) {
that.user.avatar = that.$IMG + res.data.data.fileurl
}
})
})
})
}
})
},