IndexedDBに画像ファイルを保存する

大量かつ大容量の画像ファイルを扱うWebアプリを現在開発しておりまして、ロード時間縮減のために画像ファイルをローカルに保存する仕組みを作ろうと思ったのです。キャッシュではなく persistent な形で。

で、HTML5のFile System APIを使ってこの処理を実装しようと目論んだのですが、実装状況を確認したところまさかのFireFoxが未対応。

Can I use Filesystem & FileWriter API

モダンブラウザの代表格たるFireFoxがFile System APIを実装していないのは合点が行きません。といってもChromeしか対応していないAPIを使うわけにもいかず代替案を探していたところ、Mozilla Hacks で IndexedDB を画像ファイルのストレージとして利用する方法が紹介されていました:

Storing images and files in IndexedDB ✩ Mozilla Hacks – the Web developer blog

IndexedDBを利用したことがないのでI/Oのパフォーマンスがどの程度のものなのか気掛かりですが、とりあえずこの方法で実装してみようと思います。