最近chrome extensionで開発の真似事を始めました。
chrome上キャプチャ画像をブラウザに紐づくローカル空間にファイルとして保存・管理するシステムを現在作成途中です。
Full Page Screen Capture(chrome拡張) + FileSystem API(ページの基本的な例にあるデモ) = 自分のやりたいこと
FilesystemAPIの利点として、オフラインでも大容量のファイルの変更・保存・破棄ができるところが挙げられるでしょうか?ただ、FilesystemAPIは既に開発終了したようなアナウンス(W3Cで凍結宣言?)があります。
ローカル空間に保存する手段としては、とりあえず名前の近いFile APIが代替の手段になると思っています。ただ、File APIのネット上のサンプルを見る限り、
書き込みはWebブラウザのダウンロードにデータを渡す(またはObjectURLを生成)機能となっています。
File API - hifive
となっており、何だか難しそうだなーと感じています。
今回の質問はタイトルにある通り、HTML5のFile APIは、廃止(?)予定のFileSystem APIの代替になるかどうかです。
以下のコードはFileSystem API(ページの基本的な例にあるデモ) のソースの引用です。
このコードをFileSystemAPIを使わず、File APIでどのように実現すればよいでしょうか?
lang
1> buttons[1].addEventListener('click', function(e) { 2> if (!fs) { 3> return; 4> } 5> 6> var dirReader = fs.root.createReader(); 7> dirReader.readEntries(function(entries) { 8> if (!entries.length) { 9> filelist.innerHTML = 'Filesystem is empty.'; 10> } else { 11> filelist.innerHTML = ''; 12> } 13> 14> var fragment = document.createDocumentFragment(); 15> for (var i = 0, entry; entry = entries[i]; ++i) { 16> var img = entry.isDirectory ? '<img src="http://www.html5rocks.com/static/images/tutorials/icon-folder.gif">' : 17> '<img src="http://www.html5rocks.com/static/images/tutorials/icon-file.gif">'; 18> var li = document.createElement('li'); 19> li.innerHTML = [img, '<span>', entry.name, '</span>'].join(''); 20> fragment.appendChild(li); 21> } 22> filelist.appendChild(fragment); 23> }, errorHandler); 24> }, false);
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/01/03 09:06
2015/01/03 12:02