FileReader.js - Web上でファイル/クリップボードを簡単に扱う
HTML5で便利になったAPIの一つがファイルの読み込み、FileReaderではないでしょうか。しかし非同期処理で行うものが多く、実装が若干面倒なイメージがあります。さらにこのデータを扱うのはファイルボックスまたはファイルのドラッグ&ドロップと二種類あるのも面倒です。 そこで使ってみたいのがFileReader.jsです。ファイルに加えてクリップボードまで共通のインタフェースで扱えるようになります。
FileReader.jsの使い方
FileReader.jsのデモです。ファイルボックス、ドラッグ&ドロップ、クリップボードを扱えます。
例えばファイルをドロップするUIの場合。データの受け取り型を指定しておけば、後はファイルが送られてくる仕様です。
FileReaderJS.setupDrop(document.body, {
readAsDefault: "DataURL",
on: {
load: function(e, file) {
var img = new Image();
img.onload = function() {
document.body.appendChild(img);
};
img.src = e.target.result;
}
}
});
通常であればファイルのドラッグ&ドロップイベントを取って、FileReader APIを使って読み込んで…といった処理を非同期の中で行いますが、FileReader.jsを使えば処理結果だけが返ってきます。面倒な記述を行わないで済むので、とても手軽です。
FileReader.jsはJavaScript製のオープンソース・ソフトウェア(MIT License)です。
FileReader.js bgrins/filereader.js: A lightweight wrapper for the JavaScript FileReader interface