H5图片压缩

该代码段展示了一个JavaScript函数,用于压缩图片并返回Base64编码的压缩后图片。函数接受图片源、压缩比例和回调函数作为参数,利用HTML5的canvas进行图片压缩。压缩后的图片以base64格式传递给回调函数,然后使用uni.uploadFile接口上传到指定URL。
摘要由CSDN通过智能技术生成
// 图片压缩方法
			translate(imgSrc, scale, callback) {
				var img = new Image();
				img.src = imgSrc;   //可以是临时路径
				img.onload = function() {
					var that = this;
					var h = that.height; // 默认按比例压缩
					var w = that.width;
					var canvas = document.createElement('canvas');
					var ctx = canvas.getContext('2d');
					var width = document.createAttribute("width");
					width.nodeValue = w;
					var height = document.createAttribute("height");
					height.nodeValue = h;
					canvas.setAttributeNode(width);
					canvas.setAttributeNode(height);
					ctx.drawImage(that, 0, 0, w, h);
					var base64 = canvas.toDataURL('image/jpeg', scale); //压缩比例
					canvas = null;
					callback(base64);
				}
			},

可以传入临时路径,相对路径,网络路径的图片进行压缩,最后返回base64格式的图片

this.translate(temp, 0.8, async imgURL => {
// 上传图片
    await uni.uploadFile({
		url: that.uploadFileUrl,
		filePath: imgURL,//压缩后的图片路径  base64格式
		name: that.fileKeyName,
		header: that.header,
		success: res => {
			// 上传完成后处理
			}})
	})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值