MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

FileReader

FileReader オブジェクトを使うと、ユーザのコンピュータ内にあるファイル(もしくはバッファ上の生データ)を Web アプリケーションから非同期的に読み込むことが出来ます。読み込むファイルやデータは File ないし Blob オブジェクトとして指定します。

File オブジェクトを取得するには、ユーザが <input> 要素でファイルを選択した際に得られる FileList オブジェクト、またはドラッグ&ドロップによる DataTransfer オブジェクト、他には HTMLCanvasElementmozGetAsFile() API を用いると良いでしょう。

註: この機能は Web Workers 内で利用可能です。

コンストラクタ

FileReader()
新しく作成された FileReader を返します。

詳細や例については Web アプリケーションからファイルを扱う を参照してください。

プロパティ

FileReader.error 読取専用
ファイルの読込中に生じたエラーを示す DOMError です。
FileReader.readyState 読取専用
FileReader の状態を表す数値です。次のうちの一つが入ります:
EMPTY 0 まだデータは何も読み込まれていません。
LOADING 1 データの読み込み中です。
DONE 2 読込処理がすべて終了しました。
FileReader.result 読取専用
読み込んだファイルの内容です。このプロパティは読み込みが終了した後に有効になり、プロパティのデータ型は読込処理を行うメソッドによって変わります。

イベントハンドラ

FileReader.onabort
abort イベントのハンドラです。読込処理が中断されたときにイベントが発生します。
FileReader.onerror
error イベントのハンドラです。読込中にエラーが生じたときにイベントが発生します。
FileReader.onload
load イベントのハンドラです。読込が成功したときにイベントが発生します。
FileReader.onloadstart
loadstart イベントのハンドラです。読込が開始されたときにイベントが発生します。
FileReader.onloadend
loadend イベントのハンドラです。読込が(成功・失敗によらず)終了したときにイベントが発生します。
FileReader.onprogress
progress イベントのハンドラです。Blob コンテンツの読込中にイベントが発生します。

注釈: FileReaderEventTarget を継承しているため、これらのイベントはすべて addEventListener メソッドでも受け取ることが出来ます。

メソッド

FileReader.abort()
読込処理を中断します。結果として readyStateDONE に変わります。
FileReader.readAsArrayBuffer()
指定された Blob オブジェクトを読み込みます。終了後の result プロパティには、ファイルのデータを示す ArrayBuffer が格納されます。
FileReader.readAsBinaryString()
指定された Blob オブジェクトを読み込みます。終了後の result プロパティには、生のバイナリデータが文字列として格納されます。
FileReader.readAsDataURL()
指定された Blob オブジェクトを読み込みます。終了後の result プロパティには、ファイルのデータを示す data: URL が格納されます。
FileReader.readAsText()
指定された Blob オブジェクトを読み込みます。終了後の result プロパティには、ファイルの内容をテキストとして読み取った文字列が格納されます。

仕様

仕様 状況 備考
File API
FileReader の定義
草案 Initial definition.

ブラウザ実装状況

機能 Firefox (Gecko) Chrome Edge Internet Explorer Opera Safari
基本サポート 3.6 (1.9.2)[1] 7 (有) 10[2] 12.02[3] 6.0
Web Workers 内でのサポート 46 (46) (有) (有) 未サポート (有) 未サポート
機能 Firefox Mobile (Gecko) Android Edge IE Mobile Opera Mobile Safari Mobile
基本サポート 32 3 (有) 10 11.5 6.1
Web Workers 内でのサポート 46 (46) (有) (有) 未サポート (有) 未サポート

[1] Gecko 2.0 beta 7 (Firefox 4.0 beta 7) 以前では、以下に示す Blob パラメータはすべて File パラメータでした。現在では仕様通りに修正されています。Gecko 13.0 (Firefox 13.0 / Thunderbird 13.0 / SeaMonkey 2.10) 以前では FileReader.error プロパティは FileError オブジェクトを返します。現在では最新の FileAPI 草案通りに修正され、DOMError オブジェクトを返します。

[2] IE9 には File API Lab があります。

[3] Opera 11.1 では部分的にサポートされています。

関連情報

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

 このページの貢献者: unarist, clariroid
 最終更新者: unarist,