download属性是HTML5新增的属性,也就是作用在HTML5的基础之上,他可以使a标签的href属性进行下载,如果填写指就会更改你的下载名称,比如:
<a href="/images/a.exe" download>点击下载</a>
上面这段代码会下载a.exe,并采用默认命名
<a href="/images/a.exe" download="b">点击下载</a>
这段代码会将a.exe改名为b.exe下载
需要注意的是,href属性的地址必须是和你前端js非跨域的地址,如果引用的是第三方的网站或者说是前后端分离的项目,调用后台的接口,这时download就会不起作用。
在这种情况下如果你是下载浏览器无法解析的文件,例如.exe,.xlsx…那么浏览器也会自动下载,但是如果你使用浏览器可以解析的文件,比如.txt,.png…浏览器就会采取预览模式,所以无论如何你都无法直接弹出下载框。
————————————————
版权声明:本文为CSDN博主「Hello.鑫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44037153/article/details/107662027
个人补充
// 封装的下载数据函数
function downLoadFile(fileName, content) {
var aTag = document.createElement('a');
var blob = new Blob([content]);
aTag.download = fileName;
aTag.href = URL.createObjectURL(blob);
aTag.click();
URL.revokeObjectURL(blob);
}
// 调用下载接口
function saveConfig() {
downLoadFile('nav.config.json', window.localStorage.navInfos)
}
最新回复