Blob

読み: ぶろぶ

Binary Large Object の略。ブラウザー上でバイナリデータを扱うための不変オブジェクトで、画像ファイルの読み書きに使われる。

Blob (Binary Large Object) は、ブラウザーの JavaScript 環境でバイナリデータを表現する不変のオブジェクトである。画像処理においては、ファイル入力から取得した画像データや Canvas で生成した画像を Blob として扱い、ダウンロードや送信に利用する。

File オブジェクトは Blob を継承しており、<input type="file"> で選択された画像は Blob として操作できる。Canvas API の toBlob() メソッドは描画内容を指定した形式の Blob に変換し、既定の形式は PNG である。JPEG や WebP などはブラウザーが対応する場合に限られ、対応しない形式を指定すると PNG になる。

URL.createObjectURL(blob) で一時的な URL を生成し、<img> 要素や <a> 要素のダウンロードリンクに利用する。画像圧縮ツールでは、圧縮後の Blob サイズを blob.size で取得し、元ファイルとの容量比較を表示している。Object URL が残っている間、その Blob はメモリから回収されない。Object URL は URL.revokeObjectURL() で解放でき、作成したページが閉じられた時などにも解放される。

関連用語

関連記事