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

博客地址:https: ainyi.com 解釋 背景 看到標題有點懵逼,哈哈,實際上是后端將文件處理成二進制流,返回到前端,前端處理這個二進制字符串,輸出文件或下載 最近公司有個需求是用戶在點擊下載文件 pdf 的時候,下載地址不能暴露在接口的返回值,前端不要通過這個地址下載,容易發生泄露,不安全。所以經過討論,就在后端根據文件地址直接轉成二進制流形式,返回給前端合並,再進行下載 文件轉換二進制 ...

2019-01-08 23:59 0 5183 推薦指數:

查看詳情

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

比如前后端約定,下載成功返回二進制下載失敗返回對象{code: 0, msg: ‘失敗原因’} 問題:當下載文件時,axios配置responseType: ‘blob’,此時后台返回的數據會被強制轉為blob類型;如果后台返回失敗對象,前端也無法得知,如果按正常處理會得到名為 ...

Sat Dec 11 00:39:00 CST 2021 0 160
[JavaScript] 使用ArrayBuffer和Blob編輯二進制 下載文件

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

Mon Aug 13 21:22:00 CST 2018 0 2020
后端返回二進制文件,前端處理下載

處理邏輯:獲取返回文件,通過 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
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