// 将base64转回blob格式的方法
export function parseBlob(base64) {
let arr = base64.split(",");
console.log(arr);
let mime = arr[0].match(/:(.*?);/)[1];
// console.log(mime);
let bstr = atob(arr[1]);
// console.log(bstr);
let n = bstr.length;
let u8arr = new Uint8Array(n);
console.log(u8arr);
for (var i = 0; i < n; i++) {
u8arr[i] = bstr.charCodeAt(i);
}
let url = URL || webkitURL;
return url.createObjectURL(
new Blob([u8arr], {
type: mime,
})
);
}
// 图片转base64的方法
export function imgUrlToBase64(url, callback) {
plus.io.resolveLocalFileSystemURL(url, (entry) => {
entry.file(
(file) => {
console.log(file);
// let {
// size,
// fullPath
// } = file
// if (size > 40 * 1024) {
// return uni.showToast({
// title: '图片大小不能超过450k',
// icon: 'none'
// })
// }
console.log(file);
return
plus.zip.compressImage({
src: url,
dst: url
.replace(".png", "yasuo.png")
.replace(".PNG", "yasuo.PNG")
.replace(".jpg", "yasuo.jpg")
.replace(".JPG", "yasuo.JPG"),
width: "40%", //dst: (String 类型 )压缩转换目标图片的路径,这里先在后面原始名后面加一个yasuo区分一下
height: "40%", //width,height: (String 类型 )缩放图片的宽度,高度
quality: 80, //quality: (Number 类型 )压缩图片的质量
overwrite: true, //overwrite: (Boolean 类型 )覆盖生成新文件
format: "jpg", //format: (String 类型 )压缩转换后的图片格式
},
(event) => {
console.log("压缩后图片信息:" + JSON.stringify(event));
let fileReader = new plus.io.FileReader();
file.fullPath = event.target;
fileReader.onloadend = (e) => {
callback(e.target.result)
};
fileReader.readAsDataURL(file);
},
function(err) {
console.log("Resolve file URL failed: " + err.message);
}
);
}
// e => {
// console.log(e);
// }
);
});
}
base64转blob格式方法及zip压缩方法
最新推荐文章于 2025-03-24 02:46:00 发布