一般情況下漓帚,下載分為好幾種,但是常用的是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