JavaScript Blob二進制文件對象(二)使用示例
1.Blob 構造函數用法舉例
Blob() 構造函數允許通過其它對象創建 Blob 對象。比如,用字符串構建一個 blob:
var debug = {hello: "world"}; var blob = new Blob([JSON.stringify(debug, null, 2)], {type : 'application/json'});
2.使用 Blob 創建一個指向類型化數組的URL
參考下面的代碼:
var typedArray = GetTheTypedArraySomehow(); var blob = new Blob([typedArray.buffer], {type: 'application/octet-stream'}); // 傳入一個合適的 MIME 類型 var url = URL.createObjectURL(blob); // 會產生一個類似 blob:d3958f5c-0777-0845-9dcf-2cb28783acaf 這樣的URL字符串 // 你可以像使用普通 URL 那樣使用它,比如用在 img.src 上。
3.從 Blob 中提取數據
一種從Blob中讀取內容的方法是使用 FileReader。以下代碼將 Blob 的內容作為類型數組讀取:
var reader = new FileReader(); reader.addEventListener("loadend", function() { // reader.result 包含被轉化為類型數組 typed array 的 blob }); reader.readAsArrayBuffer(blob);
另一種讀取Blob中內容的方式是使用Response對象。下述代碼將Blob中的內容讀取為文本:
var text = await (new Response(blob)).text();
通過使用 FileReader 的其它方法可以把 Blob 讀取為字符串或者數據URL。
更多:
JavaScript Blob二進制文件對象(一)
JavaScript ArrayBuffer 二進制數組(二) 應用場景
JavaScript ArrayBuffer 二進制數組(一)
