html base64码压缩,前端上传图片转base64编码并压缩指定大小

这篇博客介绍了如何在前端将上传的图片转换为base64编码,并使用JavaScript进行压缩,以控制编码的大小在特定范围内。通过创建Image对象、Canvas画布以及调整压缩系数实现这一过程。
摘要由CSDN通过智能技术生成
Document

function change(self){

//上传图片之后的对象数组;(如果后台约定直接通过formData上传,直接上传这里面的对象就好了,可以自行百度)

console.log(self.files);

//创建一个读取文件的对象

let reader = new FileReader();

//读取文件,转码

reader.readAsDataURL(self.files[0]);

reader.onload = function (e) {

let base64 = e.target.result; //转码过后的base64编码

console.log("压缩前", base64.length / 1024);

//创建一个图片

let newImage = new Image();

let quality = 0.6; //压缩系数0-1之间,压缩到0.9以上会有bug,注意!(可以自行设置)

newImage.src = base64;

newImage.setAttribute("crossOrigin", 'Anonymous');//url为外域时需要

let imgWidth, imgHeight;

newImage.onload = function () {

imgWidth = this.width;

imgHeight = this.height;

//给生成图片设置一个默认的宽度(可以自行设置)

let myWidth 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值