» Mozilla Hacks ブログ翻訳
IndexedDB に画像とファイルを格納する
原文: Storing images and files in IndexedDB (on February 23, 2012 by Robert Nyman)
以前、私たちは localStrage に画像とファイルを保存 する方法について書きましたが、それは、今日でも利用できる実用的な方法でした。しかし、この方法には localStrage と密接に関わるパフォーマンスの問題 (このブログの後半で扱います) がいくつもあるため、IndexedDB を活用することが将来のアプローチ方法として望まれます。ここでは、IndexedDB に画像とファイルを格納し、ObjectURL を通して提供する方法をお教えします。
一般的なアプローチ
はじめに、手順について話しましょう。IndexedDB データベースを作成し、ファイルをそのデータベースに保存し、そのデータをページに読み出して提供します:
- データベースを作成するか開く
- objectStore を作成する (まだ存在しなければ)
- 画像ファイルを blob として取り込む
- データベースのトランザクションを初期化する
- その blob をデータベースに保存する
- 保存したファイルを読み出し、そのデータから ObjectURL を作成してページ内の画像要素の src にセットする
コードを書く
それでは、これらのことを行うのに必要なコードのすべての部分を分析しましょう: