vue前端根据接口返回的url 下载图片

downloadPicture(imgSrc, name) {

const image = new Image();

// 解决跨域 Canvas 污染问题

image.setAttribute("crossOrigin", "anonymous");

image.src = imgSrc;

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);

canvas.toBlob((blob) => {

const url = URL.createObjectURL(blob);

const a = document.createElement("a");

a.download = name || "photo";

a.href = url;

a.click();

a.remove();

URL.revokeObjectURL(url);

});

};

},

downLineFlow(row) {

this.downloadPicture(row.signatureUrl, row.username);

},

相关推荐
程序员欣宸3 分钟前
LangChain4j实战之十二:结构化输出之三,json模式
java·人工智能·ai·json·langchain4j
咕噜企业分发小米5 分钟前
直播云服务器安全防护有哪些最新的技术趋势?
运维·服务器·安全
Kagol6 分钟前
深入浅出 TinyEditor 富文本编辑器系列之一:TinyEditor 是什么
前端·typescript·开源
秋风未动蝉已先觉13 分钟前
CentOs服务器 systemctl执行权限授权给普通权限work用户
linux·服务器
程序员zgh17 分钟前
Linux 系统调用
linux·运维·服务器·c语言·c++·系统安全
天若有情67320 分钟前
打破思维定式!C++参数设计新范式:让结构体替代传统参数列表
java·开发语言·c++
不务正业的前端学徒22 分钟前
手写简单的call bind apply
前端
jump_jump25 分钟前
Ripple:一个现代的响应式 UI 框架
前端·javascript·前端框架
亲爱的非洲野猪26 分钟前
从ReentrantLock到AQS:深入解析Java并发锁的实现哲学
java·开发语言
wheelmouse778828 分钟前
如何设置VSCode打开文件Tab页签换行
java·python