uni-app APP 图片上传后压缩且转base64

图片上传后压缩且转base64

=============================================

uni.chooseImage({
success: async (res) => {
_self.sfzZm = res.tempFilePaths[0];
this.newImgUrls(_self.sfzZm);
}
})

newImgUrls(imgUrl){

  plus.zip.compressImage({
src:imgUrl, 
dst:imgUrl, 
overwrite:true,
quality:80,
width: '600px', 
format: 'jpeg' 
},
function(res) { 
let imgPathUrl = res.target; 
let imgPathSize = res.size; 
console.log("图片链接:"+imgPathUrl) 
console.log("图片尺寸:"+imgPathSize) 
// 文件系统中的读取文件对象,用于获取文件的内容 
uni.showLoading({
title: '图片转换中。。。'
}); 
let reader = new plus.io.FileReader(); 
// 文件读取操作完成时的回调函数 
reader.onloadend = (fileData)=> { 
uni.hideLoading(); 
console.log('文件读取完成!'); 
let speech = fileData.target.result;//base64图片 
// 去除base64文件头 
let imgData = speech.replace(/^data:image\/\w+;base64,/, "");
}; 
reader.readAsDataURL(res.target); 
}, 
function(error) { 
console.log("Compress error!",error); 
return; 

});

}

=============================================

图片上传后转base64

uni.chooseImage({
sourceType: ['album','camera'],
sizeType: ['original','compressed'],
success: (res) => {
this.urlTobase64(res.tempFilePaths[0]);
}
})
urlTobase64(imgUrl) {
uni.request({
url: imgUrl,
method: 'GET',
responseType: 'arraybuffer',
success: res => {
const base64Img = uni.arrayBufferToBase64(res.data)//把arraybuffer转成base64
}
});
}

posted @ 2021-01-15 14:38  Joseph425  阅读(638)  评论(0)    收藏  举报