JavaScript如何实现点击下载图片

通常我们知道一个文件的url,在前端我们可以通过代码:

window.open(url)

实现下载文件的功能,但是如何是图片url的话,会新开一个页面,并不会将图片下载,那怎么实现将图片下载下来呢?

1.方法一

标签.html5的a标签增加了download属性,可利用此属性实现图片下载。

下载图片

• 将a标签的href属性指向图片的地址;同时增加download属性;即可实现点击下载.

• download属性的属性值选填,代表下载图片的名称,如不填写,则使用href中的图片名称,即图片的原名称.

• a标签的download属性目前主流浏览器只有火狐和谷歌支持.

因为上诉方法只有火狐和谷歌支持,所以我们还要兼容其它浏览器

2.方法二

').appendTo("body"); } //iframe的src属性如不指向图片地址,则手动修改,加载图片 if ($('#IframeReportImg').attr("src") != imgSrc) { $('#IframeReportImg').attr("src",imgSrc); } else { //如指向图片地址,直接调用下载方法 downloadImg(); } } //下载图片的函数 function downloadImg() { //iframe的src属性不为空,调用execCommand(),保存图片 if ($('#IframeReportImg').src != "about:blank") { window.frames["IframeReportImg"].document.execCommand("SaveAs"); } } //接下来进行事件绑定 var aBtn = $(".card .down_btn_a"); if (browserIsIe()) { //是ie等,绑定事件 aBtn.on("click", function() { var imgSrc = $(this).siblings("img").attr("src"); //调用创建iframe的函数 createIframe(imgSrc); }); } else { aBtn.each(function(i,v){ //支持download,添加属性. var imgSrc = $(v).siblings("img").attr("src"); $(v).attr("download",imgSrc); $(v).attr("href",imgSrc); }) }

你可能感兴趣的:(JavaScript)