兼容各个浏览器下载图片
- 图片来源是线上地址
- 图片来源是项目的静态资源
- 图片来源是Blob类型
思路:讲图片转为 base64 借用 a 标签的downloan 属性进行下载
静态路径图片转为base64
/**
* 静态路径图片转为base64
* @param {*} imgUrl 图片路径
*/
img2Base64:function(imgUrl){
return new Promise((resolve,reject)=>{
const image = new Image();
// 解决跨域 canvas 污染问题
image.setAttribute("crossOrigin", "");
image.src = imgUrl;
image.onload = function() {
const canvas = document.createElement("canvas");
canvas.width = image.width;
canvas.height = image.height;
const context = canvas.getContext("2d");
context.drawImage(image, 0, 0, image.width, image.height);
resolve(canvas.toDataURL())
}
})
},
blob类型的图片转为base64
/**
* blob类型的图片转为base64
* @pa