http请求post,文件导出兼容IE10+
2019-08-14 10:25:14来源:博客园 阅读 ()
1.post的方法里要加responseType: 'blob'参数,不然下载的excel会乱码
2.使用{type: "application/vnd.ms-excel"}的写法,可以保存为xls格式的excel文件(兼容老版本)。而使用“application/vnd.openxmlformats-officedocument.spreadsheetml.sheet”则会保存为xlsx
3.返回结果为下载excel文档链接,使用window.open(result)即可
4.使用增加节点调用click方法,而不使用window.open(objectUrl)方法,是防止被浏览器当插件屏蔽弹出连接
5.给文件设定名字,直接在a标签的download属性中设置即可
1、方法1
axios.post('/getExcel',{},{responseType:'blob'}).then((res:any)=>{ let reader = new FileReader() reader.readAsDataURL(res); reader.onload = (e:any)=>{ var a = document.createElement('a'); document.body.appendChild(a); a.style.display = 'none'; a.href = e.target.result; a.download = 'name.xlsx'; a.click(); a.remove(); } })
2、方法2
var download = function (file_name:string, content:any) { var csvData = new Blob([content], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }); // for IE if (window.navigator && window.navigator.msSaveOrOpenBlob) { window.navigator.msSaveOrOpenBlob(csvData, file_name); } // for Non-IE (chrome, firefox etc.) else { var a = document.createElement('a'); document.body.appendChild(a); a.style.display = 'none'; var url = window.URL.createObjectURL(csvData); a.href = url; a.download = file_name; a.click(); a.remove(); window.URL.revokeObjectURL(url); } }; this.$axios.post('/getExcel',{},{responseType:'blob'}).then((res:any)=>{ download('name',res); })
原文链接:https://www.cnblogs.com/gxp69/p/11283080.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 浅析XMLHttpRequest的缓存问题 2020-02-25
- HTTP状态码汇总 2019-08-14
- element-ui table 默认全选 2019-08-14
- 前端笔记之微信小程序(三)GET请求案例&文件上传和 2019-08-14
- vue动态请求到的多重数组循环遍历,取值问题,如果某个值存 2019-08-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash