HTML5 FileAPI

File APIとはクライアント(ローカル)上にあるファイルをスクリプトを使って読み書きすることができるようにするものです。ただし、スクリプトで任意のファイルを選択することはできず、ユーザーが選択したファイルが対象となります。 操作の基本となるFileオブジェクト ユーザーが選択したファイルを表すFileオブジェクトを生成することが、読み書き操作の基本になります。

HTML

<input id="file" name="file" type="file" >

JavaScript

window.addEventListener('DOMContentLoaded', function() {
  // ファイルが指定されたタイミングで、その情報を表示
  document.querySelector("#file").addEventListener('change', function(e) {
    // 指定されたファイルを取得
    var input = document.querySelector('#file').files[0];
    // ファイル情報をページに反映
    document.querySelector('#name').innerHTML = input.name;
    document.querySelector('#type').innerHTML = input.type;
    document.querySelector('#size').innerHTML = input.size / 1024;
    document.querySelector('#urn').innerHTML = input.urn;
    document.querySelector('#modified').innerHTML = input.lastModifiedDate;
  }, false);
});

上記ではinputに選択されたファイルのFileオブジェクトが作られる。 Fileオブジェクトにはファイル情報を取得するためのプロパティ・メソッドがあります。

機能 内容
File.size ファイルのサイズ(バイト)を返す。
File.type ファイルのMIMEタイプを返す。MIMEタイプが不明の場合は空文字を返す。
File.name ファイル名を返す。パス情報は含まれない。
File.lastModifiedDate ファイル最終更新日時を表す文字列を返す。
File.slice(start,length)
File.slice(start,length,contentType)
ファイル・データのうち、startの位置からサイズlengthの範囲を表すBlobオブジェクトを返す。