浏览器中js怎么将图片下载而不是直接打开

时间:2020-04-30 15:48:28   收藏:0   阅读:660

网上找了好多方法都是不能用的,经过试验在Chrome中都是直接打开。

经过自己的摸索,找到了一套能用的解决方案

var database = "data:image/jpg;base64," + data.data;
let aLink = document.createElement(a);
let blob = this.base64ToBlob(database ); //new Blob([content]);
let evt = document.createEvent("HTMLEvents");
evt.initEvent("click", true, true);//initEvent 不加后两个参数在FF下会报错  事件类型,是否冒泡,是否阻止浏览器的默认行为
aLink.download = fileName;
aLink.href = URL.createObjectURL(blob);
aLink.dispatchEvent(new MouseEvent(click, { bubbles: true, cancelable: true, view: window }));//兼容火狐

这种方式需要让后台给一个base64的字符串。

base64前台显示图片的方法

$("#image").attr("src", "data:image/jpg;base64," + data.data);

 

原文:https://www.cnblogs.com/heyiping/p/12809127.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!