- 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 || ``}`);