原文:axios下載文件(responseType:‘blob‘),判斷是下載成功返回了二進制流還是失敗返回了對象(比如服務端拒絕,返回對象,前端如果依然按二進制流處理會導致下載undefined文件)

比如前后端約定,下載成功返回二進制流,下載失敗返回對象 code: , msg: 失敗原因 問題:當下載文件時,axios配置responseType: blob ,此時后台返回的數據會被強制轉為blob類型 如果后台返回失敗對象,前端也無法得知,如果按正常處理會得到名為undefined的文件。 解決:在try代碼塊里面嘗試將axios已經轉成blob格式的res轉回json格式,如果不報錯說明 ...

2021-12-10 16:39 0 160 推薦指數:

查看詳情

利用 Blob 處理 node 層返回二進制文件字符串並下載文件

博客地址:https://ainyi.com/65 解釋 | 背景 看到標題有點懵逼,哈哈,實際上是后端將文件處理二進制返回前端前端處理這個二進制字符串,輸出文件下載 最近公司有個需求是用戶在點擊下載文件(pdf)的時候,下載地址不能暴露在接口的返回值,前端不要通過這個地址下載 ...

Wed Jan 09 07:59:00 CST 2019 0 5183
后端返回二進制文件前端處理下載

處理邏輯:獲取返回文件,通過 Blob 對象構造文件下載。 function download(data, filename, type="application/vnd.ms-excel") { let file = new Blob([data], { type ...

Thu Dec 03 23:25:00 CST 2020 0 500
前端處理后端接口返回二進制數據下載文件

1、首先看沒處理時接口返回的數據,會發現是亂碼的。。。 2、解決亂碼需要在請求接口時,加上配置responseType: 'blob',例如在vue中使用axios的http請求 加上之后返回的數據就是這樣的 3、接下來就是處理數據文件下載 ...

Sat Feb 26 00:04:00 CST 2022 0 2196
[JavaScript] 使用ArrayBuffer和Blob編輯二進制 下載文件

   ArrayBuffer又稱類型化數組。 數組里面可以放數字、字符串、布爾值以及對象和數組等,ArrayBuffer放0和1組成的二進制數據 數組放在堆中,ArrayBuffer則把數據放在棧中(所以取數據時后者快) ArrayBuffer初始化后固定大小,數組則可以自由增減 ...

Mon Aug 13 21:22:00 CST 2018 0 2020
Axios發送請求下載文件(重寫二進制文件)

axios正常發送請求下載excel會出現以下問題,即將二級制文件下載到了本地,下附解決辦法: 一、實現思路: 這類方法思路如下: 1. 使用js在頁面常見a標簽 2. 創建Blob對象, 在Blob中傳入后端返回的response.data 這一步中Blob需要的是一個 ...

Sat Sep 26 00:38:00 CST 2020 0 3899
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM