美文网首页
JS下载简单文件(txt)

JS下载简单文件(txt)

作者: 郝同学1208 | 来源:发表于2021-09-22 12:00 被阅读0次

文章序

开发中遇到了个问题,从文件中导入数据,当有数据格式不对后端返回文件,前端需要下载,原来是excel文件,通过window.location.href = 'fileUrl'可以正常下载,但是当文件为txt格式文件,则无法下载而是浏览器直接打开,遂在寻找解决方案之后,总结一下

window.location.href

一般来讲,在js中写window.location.href = 'fileUrl'会在浏览器中打开新的标签页进行下载,如文件格式为简单文件比如txt等,则会直接打开预览,如需要下载,需要服务端设置Content-Disposition: attachment,需要依赖服务端

a标签

a标签则简单直接,代码如下

let fileUrl = res.data;
let fileNameArray = fileUrl.split('/');
let fileName = fileNameArray[fileNameArray.length - 1];
let element = document.createElement('a');
element.style.display = 'none';
element.setAttribute('href', fileUrl);
element.setAttribute('download', fileName);
document.body.appendChild(element);
element.click();
document.body.removeChild(element);

创建一个a标签的dom元素并模拟点击,注意一定要设置download属性

相关文章

网友评论

      本文标题:JS下载简单文件(txt)

      本文链接:https://www.haomeiwen.com/subject/nqwwgltx.html