Mapion マピオンラボ Javascript Firefox3.6βで利用できるFile APIの可能性について
Firefox3.6βで利用できるFile APIの可能性について
- 2009.12.25
- 大澤 信行
- Javascript
- コメ(0)
- トラバ(0)
![[clip!]](http://parts.blog.livedoor.jp/img/cmn/clip_16_12_b.gif)


FileAPIとは?
HTML5関連のAPIです。これ。
http://www.w3.org/TR/FileAPI/
こんなことが出来る
- バイナリーで読み込める
- 文字列としても読み込める
- ただしローカルのファイルには保存が出来ない
フローの変化
1)今まで- ファイルをサーバに上げる
- サーバで処理する
- クライアントに表示
- サーバを更新
- クライアントでファイルを処理
- サーバを更新
シンプルなフローを実現することが可能になりますね。
サンプル
サンプルは、ソースファイルをただ表示するだけというシンプルなものです。
File APIでソースコードを表示するサンプル
※文字コードはUTF-8限定。
実はこのスクリプト、1秒おきに表示を更新しています。 書いている人が保存をするたびに表示が更新されるので、同じファイルを読み込める環境であればチームメンバーのコードの進捗状況を監視できるという素敵な(?)ツールとなっております。
それはさておき。
どうやってファイルを取得しているのか?
まずファイルを読み込むためのフォームを設置。
<input type="file" id="readfile" multiple="true" />
イベントか何かで以下を実行する。
var files = document.getElementById("readfile").files;
for (var i = 0; i < files.length; i++) {
alert("[name]" + file[i].name + ", [text]" + file[i].getAsText("UTF-8"));
}
ファイル名とファイルの中身がアラートで表示されます。ファイル操作では定番のclose処理やロックなども不要です。CSVを取り込んで、そのままtable要素で表示するなども簡単。
ローカルに直接ファイルを保存することはできませんが、ローカルストレージを使うなど工夫することで、ブラウザ単体+オフラインでも動くアプリは作れます。
File APIはブラウザの可能性(とJavaScriptプログラマーの負担)を大きく広げる仕様といえそうですね(でも楽しみ)。

-
この記事のトラックバックURLhttp://labs.mapion.co.jp/mtos/mt-tb.cgi/32





