JavaScript Blob物件原理及用法詳解
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,{ type: 'application/json' });console.log(blobObject.size);
將會輸出:22
Blob.slice() 方法
Blob.slice() 函式用於建立新的Blob物件,該物件包含源Blob的指定位元組範圍內的資料。
instanceOfBlob.slice([start [,end [,contentType]]]);
參見以下程式碼。
let hero = {name: 'Batman'}
let blobObject = new Blob([JSON.stringify(hero,{ type: 'application/json' });
console.log(blobObject.slice(10,16,{ type: 'application/json' }));
輸出
總結
使用二進位制遠端檔案時,Blob非常有用。
Blob可能非常大,即也可能包含音訊和視訊資料。可以動態建立它們,並使用Blob URL用作檔案。我們可以通過多種不同方式使用它們,以使它們更有用。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。