网上试了几个原生方法,失败了,可以使用下面的这个方法,稳定可用
let img = new Image();
img.src = 图片地址;
img.onload = () => {
let h = img.height; // 默认按比例压缩
let w = img.width;
let canvas = document.createElement('canvas');
let ctx = canvas.getContext('2d');
canvas.width = w;
canvas.height = h;
ctx.drawImage(img, 0, 0, w, h);
let base64 = canvas.toDataURL('image/png', 1); //压缩比例
canvas = null;
console.log(base64)
}
利用canvas绘制图片,然后转为base64