base64转blob格式方法及zip压缩方法

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值