記錄一次前端下載xlsx文檔流:
思路: 1. 調用接口接受后台返回的文檔流資源,
2.通過內置對象Blob構造器進行解析得到鏈接地址
3.通過a標簽的下載功能得到資源
說下中間踩得坑, 首先項目中使用axios進行的接口調用, 你如果希望得到的是原始的二進制文檔流 ,敲黑板: 那么你的請求頭里面要明確設置renponseType:blob (防止瀏覽器默認給你json序列號)
還有就是設置的位置要和url同級的, 之前我設置在headers中了,走了一段彎路,
后面就是利用 blob和URL對象來解析得到的文檔流得到 blob協議的鏈接 :類似 blob:http://xxxxxxx.com
然后就是創建虛擬a標簽將href指向生成的 url
(注意點:我這里的res直接就是文檔流內容了, 如果你的res里面不是直接的content 那么你需要解構出來,Blob對象接受一個數組類型的參數)