for(var key of this.imgList){
let url = 'https://www.baidu.com/test/'+ key +'.jpg?timestamp=' + new Date().getTime();
let image = new Image();
image.img_id = key; //设置个属性,后面配置图片名称,解决异步下载的图片名都一样的bug
image.setAttribute("crossOrigin", "anonymous"); // 解决跨域 Canvas 污染问题
image.onload = function () {
let canvas = document.createElement("canvas");
canvas.width = image.width;
canvas.height = image.height;
let context = canvas.getContext("2d");
context.drawImage(image, 0, 0, image.width, image.height);
let b64url = canvas.toDataURL("image/jpeg"); //得到图片的base64编码数据
let a = document.createElement("a"); // 生成一个a元素
let event = new MouseEvent("click"); // 创建一个单击事件
a.download = image.img_id+'.jpg' || "eyeImage.jpg"; // 设置图片名称
a.href = b64url; // 将生成的URL设置为a.href属性
a.dispatchEvent(event); // 触发a的单击事件
};
image.src = url;
}
Vue前端实现调取浏览器下载功能,批量导出图片
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 最近在开发社区超市项目的过程中,因为产品部分缩略图是多图片上传模式,在研究了TP官方文档的多图上传后在用户体验上没...
- vue导出pdf,分页被截断 ,图片不显示的问题,已解决。 直接上步骤,亲测有效。 第一步 安装所需要的用到的插件...