Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

File インターフェイスはファイルの情報を提供したり、Web ページ内の JavaScript がコンテンツにアクセスすることを許可したりします。

File オブジェクトは一般的に <input> 要素を使用してユーザが選択した結果として返された FileList オブジェクトや、ドラッグアンドドロップ操作の DataTransfer オブジェクト、HTMLCanvasElementmozGetAsFile() API から情報を取得します。Gecko では、特権コードはユーザーインタラクションなしにローカルファイルの File オブジェクトを作ることができます(詳しくは Gecko notes を参照してください)。

詳しい情報や例は、Web アプリケーションからファイルを使用する を参照してください。

プロパティ

File.lastModifiedDate 読取専用
参照されている File オブジェクトが最後に変更された Date
File.name 読取専用
参照されている File オブジェクトのファイル名。

File インターフェイスもまた、Blob インターフェイスを継承しています:

メソッド

File インターフェイスはメソッドを定義していませんが、Blob インターフェイスのメソッドを継承しています:

仕様

仕様 状態 コメント
File API 草案 初回定義。

ブラウザ互換性

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
基本サポート 13 3.0 (1.9)[1]
7 (7)
10.0 11.5 6.0
機能 Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
基本サポート 未サポート 25 未サポート 11.1 6.0

[1] 非標準実装。

実装ノート

  • Gecko では chrome コード内でこの API を使用できます。詳細は Using the DOM File API in chrome code を参照してください。chrome コード、JSM そしてブートストラップスコープから利用するためには Cu.importGlobalProperties(['File']); を使用してインポートする必要があります。
  • Gecko 6.0 (Firefox 6.0 / Thunderbird 6.0 / SeaMonkey 2.3) からは、(拡張機能のような) 特権コードは、参照するファイルを特定するために File DOM のコンストラクタに nsIFile を渡すことができます。
  • Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5) からは、nsIDOMFile オブジェクトから直接インスタンス化する代わりに、new File を使用して、XPCOM コンポーネントコードから File オブジェクトを生成できます。コンストラクタでは Blob と対照的に、第 2 引数にファイル名が必要になります。ファイル名は任意の文字列とすることができます。
    File File(
      Array parts,
      String filename, 
      BlobPropertyBag properties
    );
  • 以下の非標準のプロパティは Gecko 7 (Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4) で削除されました: File.fileName, File.fileSize, File.getAsBinary(), File.getAsDataURL(), File.getAsText(string encoding) (バグ 661876)。替わりに標準のプロパティ File.name, Blob.sizeFileReader を使用してください。

関連情報

ドキュメントのタグと貢献者

タグ: 
 このページの貢献者: dskmori, syu_kato, akiomik, mantaroh
 最終更新者: dskmori,