前端用vue怎么接收並導出文件
- window.location.href = "excel地址"
- 如果是 get 請求,那直接換成 window.open(url) 就行了
- 創建一個隱藏的 iframe,把 iframe 的 src 指向這個 url,就可以下載了
- 如果是 post 請求,那創建一個 form,target 指向這個 iframe。讓后台加一個文件下載的 http response header Content-Disposition: attachment; filename="filename.xlsx", 瀏覽器自己會處理文件下載的。
本人用的是第三種方法
生明方法 downloadFile
module.exports = (url = ``) => {
try {
const elemIF = document.createElement(`iframe`);
elemIF.src = url;
elemIF.style.display = `none`;
document.body.appendChild(elemIF);
} catch (e) {
console.log(e);
}
};
調用downloadFile(url)
downloadFile(`${this.$base.path.nodeServiceHost}/downLoad?url=/zhyj/busi/download&fastReportId=${row.fastReportId || ``}`);