2022-06-05T13:15:38.png

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)
    }

发表评论