/**
* 下载网络图片,支持自定义文件名
* @param {*} link 图片地址,支持跨域
* @param {*} name 图片名称,自定义
*/
function downloadImg(link, name = 'photo') {
const image = new Image();
// 解决跨域问题
image.setAttribute('crossOrigin', 'anonymous');
image.onload = () => {
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);
const url = canvas.toDataURL('image/png'); // 图片 base64
const a = document.createElement('a');
// + '.png' 定义文件拓展名、防止因为name中有.号导致.png文件拓展名丢失
a.download = name + '.png';
a.href = url;
const event = new MouseEvent('click');
a.dispatchEvent(event);
};
//加时间戳防止图片缓存报跨域问题
image.src = link + (link.indexOf('?') > -1 ? '&time=' : '?time=') + new Date().valueOf();
};
//调用
downloadImg('https://pub.jutuike.com/static/img/logo.c1f008ef.jpg','自定义图片名字')
本文共 个字数,平均阅读时长 ≈ 分钟,您已阅读:0时0分0秒。
649494848