js下载文件

点击下载文件,一般分为两种,1.接口处理,直接在服务器上下载文件,前端只需要掉一个接口就可以了。2.接口返回一个url,前端根据返回的url,自己处理下载操作。

下载文件可以借助a标签的download属性

//  1.创建a标签,触发点击事件
var a = document.createElement('a');
a.href = url;
a.download = "file";
document.body.appendChild(a)
a.click();
document.body.removeChild(a);
//  2.使用window.open方法
window.open(url)
//  3.使用location.href方法
window.location.href = url

使用上面的方法之后,发现第一次点击下载的时候,不是直接在本页面直接下载,总是会刷新本页面的url,或者新打开一个tab进行下载。(我想要的效果是第一次点击的时候,也在本页面进行下载)

鉴于上面方法不能实现我想要的功能,所以我又找到了另一个方法,使用iframe来实现我的功能。

var iframe = document.createElement('iframe');
iframe.src = url
iframe.style = "display:none";
document.body.appendChild(iframe);
document.body.removeChild(iframe);

 

上一篇:HTML值中src和href的区别


下一篇:浏览器也可以做爬虫