vue使用axios接收流文件的實現(xiàn)
在工作中遇到使用axios接收流文件,遇到了一些問題,整理如下:
在調(diào)用接口成功后如圖所示:
現(xiàn)在需要調(diào)試下axios.js文件統(tǒng)一攔截
// 導(dǎo)出 const headers = response.headers //console.log(headers['content-type']) 將打印的值,也將后臺返回的相應(yīng)頭設(shè)置成相同的,我的就是'application/octet-stream;charset=UTF-8',然后返回response if (headers['content-type'] == 'application/octet-stream;charset=UTF-8') { return response; }
現(xiàn)在需要注意headers[‘content-type’] 不一定是 ‘application/octet-stream;charset=UTF-8’
在接口調(diào)用時需要設(shè)置axios的相應(yīng)類型,responseType: “blob”
this.axios({ method: "get", url: "/dafw/cljsdc", params: data, responseType: "blob" }) .then(res => { let blob = new Blob([_res]); let downloadElement = document.createElement("a"); let href = window.URL.createObjectURL(blob); //創(chuàng)建下載的鏈接 downloadElement.href = href; downloadElement.download = "xxx.xls"; //下載后文件名 document.body.appendChild(downloadElement); downloadElement.click(); //點擊下載 document.body.removeChild(downloadElement); //下載完成移除元素 window.URL.revokeObjectURL(href); //釋放掉blob對象 ...
之后就會下載成功…
到此這篇關(guān)于vue使用axios接收流文件的實現(xiàn)的文章就介紹到這了,更多相關(guān)vue axios接收流文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue.js 嵌套循環(huán)、if判斷、動態(tài)刪除的實例
下面小編就為大家分享一篇vue.js 嵌套循環(huán)、if判斷、動態(tài)刪除的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03解決vue項目打包上服務(wù)器顯示404錯誤,本地沒出錯的問題
這篇文章主要介紹了解決vue項目打包上服務(wù)器顯示404錯誤,本地沒出錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11