ant design 中,使用dva/fetch 设置导致无法从后…
2018-08-10 11:20:54来源:博客园 阅读 ()
最近使用antd 做一个后台管理系统中,业务场景下需要将数据导出为excel,后端使用POI,结果数据怎么都无法生成,后面发现原来是前端限制了header 中可以接受的数据类型为json,无法接受blob的类型,后来改用了axios,就可以顺利导出了,下面是导出的代码
1 import axios from 'axios'; 2 3 async function getExcel(url, fileName) { 4 const token = localStorage.getItem('token'); 5 axios 6 .get(url, { 7 responseType: 'blob', // 表明返回服务器返回的数据类型, 8 headers: { 9 Authorization: 'Bearer ' + token, 10 Accept: 'application/json', 11 }, 12 }) 13 .then(res => { 14 const content = res; 15 const blob = new Blob([content.data], { 16 type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8', 17 }); 18 // return; 19 if ('download' in document.createElement('a')) { 20 // 非IE下载 21 const elink = document.createElement('a'); 22 elink.download = fileName; 23 elink.style.display = 'none'; 24 elink.target = '_blank'; 25 elink.href = URL.createObjectURL(blob); 26 document.body.appendChild(elink); 27 console.log(elink); 28 elink.click(); 29 URL.revokeObjectURL(elink.href); // 释放URL 对象 30 document.body.removeChild(elink); 31 // window.location.reload(); 32 } else { 33 // IE10+下载 34 navigator.msSaveBlob(blob, fileName); 35 window.location.reload(); 36 } 37 }); 38 } 39 export default { 40 getExcel, 41 };
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:js类型判断-丰富加好用
下一篇:js之类型转换
- 关于jQuery UI 使用心得及技巧 2020-03-29
- js中去掉字串左右空格 2020-03-20
- Js中如何使用sort() 2020-03-18
- 使用JS在浏览器中判断当前网络连接状态的几种方法 2020-03-12
- 在JavaScript中尽可能使用局部变量的原因 2020-03-08
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