Drag and drop API
function receive(event, element) {
var data = event.dataTransfer.items;
for (var i = 0; i < data.length; i += 1) {
if (
(data[i].kind == 'file') &&
(data[i].type.match('^image/'))
) {
var img = new Image();
img.src = URL.createObjectURL(data[i].getAsFile());
element.appendChild(img);
}
}
}
File API: Writer を使ったコードのイメージ
var bb = new BlobBuilder();
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
bb.append(createCSVRow(row));
}
// window.saveAs は 2011/7/23 時点ではまだ利用できません
var fileSaver =
window.saveAs(bb.getBlob('text/csv'), 'date.csv');
File API: Directories and System とは
ファイルシステムにアクセスするための仕様
ただし、任意のファイルにアクセスすることはできない
データのストレージとして利用することができる
オリジン毎のサンドボックスが用意される
オリジン = プロトコル + ドメイン + ポート
サポートしているブラウザ
Google Chrome 9以降 (オプションを付けると利用可
能)
--unlimited-quota-for-files
--allow-file-access-from-files
File API: D & S のインターフェイス
LocalFileSystem / LocalFileSystemSync
FileSystem
Entry
DirectoryEntry
DirectoryReader
FileEntry
File API: D & S でファイルを保存 - 1
$('#save_file').submit(function() {
for (var i = 0; i < this.file.files.length; i++) {
saveFile(this.file.files[i]);
}
return false;
});