后端返回的樣子如下圖:
請求里面注意設置 reponseType:'blob'
vue頁面的前端代碼如下:
Blob介紹
Blob對象表示一個不可變、原始數據的類文件對象
。
Blob表示的不一定是JavaScript原生格式的數據。
File接口基于Blob,繼承了blob的功能并將其擴展使其支持用戶系統上的文件。
Blob()構造函數返回一個新的Blob對象。blob的內容由參數數組中給出的值的串聯組成。
Blob語法
var aBlob=new Blob(array,options)
array是一個由ArrayBuffer, ArrayBufferView ,Blob, DOMString等對象構成的Array,或者其他類似對象的混合體,他將被放入Blob.
options是一個可選的BlobPropertyBag字段,有如下兩個屬性;
type:默認值“”,他代表了將會被放入到blob中的數組內容的MIME類型;
URL.createObjectURL()
URL.createObjectURL()
靜態方法會創建一個 DOMString
,其中包含一個表示參數中給出的對象的URL。這個 URL 的生命周期和創建它的窗口中的 document
綁定。這個新的URL 對象表示指定的 File
對象或 Blob
對象。
語法
var objectURL=URL.createObjectURL(object);
參數:
object用于創建RUL的File對象、Blob對象或者MidiaSource對象。
返回值:
一個DOMString包含了一個對象URL,改URL可用于指定源object的內容。
MIME類型
媒體類型(通常稱為 Multipurpose Internet Mail Extensions 或 MIME 類型 )是一種標準,用來表示文檔、文件或字節流的性質和格式。
語法
通用結構
type/subtype
MIME的組成結構非常簡單;由類型與子類型兩個字符串中間用'/'分隔而組成。不允許空格存在。type 表示可以被分多個子類的獨立類別。subtype 表示細分后的每個類型。
MIME類型對大小寫不敏感,但是傳統寫法都是小寫。
關于mime的具體可參看
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/MIME_types