Blob是JavaScript內建對象,表示不可變的原始數據,類似文件的對象。
blob是表示原始數據的不可變對象,這些數據不一定是JavaScript原生格式的,文件接口基於Blob,繼承Blob功能並將其擴展為支持用戶系統上的文件。
Blob有很多用途:
-
可以從網絡的內容創建。
-
可以保存到磁盤或從磁盤讀取。
-
例如,它們是FileReader API中使用的File的基礎數據結構。
我們可以使用 Blob() 構造函數從其他非blob對象和數據構造Blob。
Blob構造函數
Blob構造函數允許從其他對象創建Blob。例如,從字符串構造Blob。
let hero = {name: 'Batman'} let blobObject = new Blob([jsON.stringify(hero, null, 2)], { type: 'application/json' }); console.log(blobObject);
現在,如果我們在瀏覽器中運行此文件,我們將在瀏覽器控制台中看到以下輸出。
Blob size 屬性
Blob.size 屬性返回Blob或File的大小(以字節為單位)。
var sizeInBytes = blob.size
參見以下示例。
let hero = {name: 'Batman'} let blobObject = new Blob([JSON.stringify(hero, null, 2)],{ type: 'application/json' }); console.log(blobObject.size);
將會輸出:22
廣州包裝設計公司http://www.maiqicn.com 電腦刺綉綉花廠 ttp://www.szhdn.com
Blob.slice() 方法
Blob.slice() 函數用於創建新的Blob對象,該對象包含源Blob的指定字節范圍內的數據。
instanceOfBlob.slice([start [, end [, contentType]]]);
參見以下代碼。
let hero = {name: 'Batman'} let blobObject = new Blob([JSON.stringify(hero, null, 2)], { type: 'application/json' }); console.log(blobObject.slice(10, 16, { type: 'application/json' }));
輸出
總結
使用二進制遠程文件時,Blob非常有用。
Blob可能非常大,即也可能包含音頻和視頻數據。可以動態創建它們,並使用Blob URL用作文件。我們可以通過多種不同方式使用它們,以使它們更有用。