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
}
});
}

浙公网安备 33010602011771号