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, 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用作文件。我們可以通過多種不同方式使用它們,以使它們更有用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM