post方式返回文件流實(shí)現(xiàn)前端blob下載,responseType: 'blob'無效

一般情況下,下載分為好幾種,但是常用的是get下載文件流直接下載


post下載文件流是很少見的,但是鑒于參數(shù)太多,不能走get 只能走post下載,post下載分為兩種:

1.form表單下載


2.post返回文件流轉(zhuǎn)成blob下載,研究了很久 也很坑,上代碼:


這個(gè)地方如果responseType設(shè)為blob的話,返回的文件流將會(huì)被轉(zhuǎn)成blob對(duì)象,不是文件流,但是無論怎么設(shè)置都沒有轉(zhuǎn)成blob對(duì)象,網(wǎng)上有很多解釋,一個(gè)是說封裝好的axios設(shè)置responseType是無效的,于是乎,我就引入了原生axios,手動(dòng)添加token認(rèn)證和content-type,但是返回結(jié)果依然是文件流,兜兜轉(zhuǎn)轉(zhuǎn)后來才發(fā)現(xiàn)最坑的是mockjs的引入,mockjs會(huì)影響responseType的設(shè)置轉(zhuǎn)換,項(xiàng)目中注釋掉mockjs即可實(shí)現(xiàn)成功blob的轉(zhuǎn)換,還有就是可以修改mockjs的原生代碼,如果需要用到mockjs的簡(jiǎn)友們可以修改代碼,不過偶同步更新依賴包的時(shí)候記得及時(shí)修改,如果mockjs可以在項(xiàng)目中拋棄的話建議直接main.js中刪除引入,畢竟還有其他的坑。。。

推薦博客地址:

https://blog.csdn.net/weixin_42142057/article/details/97655591

https://github.com/nuysoft/Mock/issues/244

https://segmentfault.com/q/1010000014704618/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容