vue+element 下载文件
下载文件,vue请求后台接口,返回的是二进制流,所以前端需要进行一点操作
如果没用框架,貌似直接将后台接口写进a标签href里即可,但是还是需要在请求头里加上token https://blog.csdn.net/m0_37149617/article/details/100933234 此链接是 a标签下载文件加token
vue用的axios请求
1、 import axios from 'axios' (安装不赘述)
2、在导出按钮点击事件上
batchExport() { let url = ""; //请求下载文件的地址 let token = ; //获取token axios .get(url, { headers: { token: token }, responseType: "blob" }) .then(res => { if (!res) return; let blob = new Blob([res.data], { type: "application/vnd.ms-excel;charset=utf-8" }); let url = window.URL.createObjectURL(blob); let aLink = document.createElement("a"); aLink.style.display = "none"; aLink.href = url; aLink.setAttribute("download", "xxx.xls"); // 下载的文件 document.body.appendChild(aLink); aLink.click(); document.body.removeChild(aLink); window.URL.revokeObjectURL(url); }) .catch(error => { this.$message.error(error); }); }