FileReader
オブジェクトを使用すると、Web アプリケーションは、ユーザーのコンピュータに保存されているファイル (または生データ バッファ) の内容を非同期に読み取ることができます。File
または Blob
オブジェクトを使用して、読み込むファイルまたはデータを指定します。
File オブジェクトは、<input>
要素を使用してファイルを選択した結果として返される FileList
オブジェクト、ドラッグ&ドロップ操作の DataTransfer
オブジェクト、または HTMLCanvasElement
上の mozGetAsFile()
API から取得することができます。
重要事項: FileReader
は、ユーザーの (リモートの) システムから安全な方法でのみファイルの内容を読み取るために使用されます。単にファイルシステムからパス名でファイルを読み込むためには使用できません。JavaScript でパス名でファイルを読み込むには、標準的な Ajax ソリューションを使用してサーバーサイドのファイル読み込みを行い、クロスドメインでファイルを読み込む場合は CORS パーミッションを使用しなければなりません。
コンストラクター
FileReader()
- 新しく作成された
FileReader
を返します。
詳細や例については Web アプリケーションからのファイルの使用 を参照してください。
プロパティ
FileReader.error
読取専用- ファイルの読み込み中に発生したエラーを表す
DOMException
。 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
コンテンツの読み込み中に発生します。
FileReader
は EventTarget
を継承しているので、addEventListener
メソッドを使用することで、これらのイベントをすべて待ち受けることもできます。
メソッド
FileReader.abort()
- 読込処理を中断します。結果として
readyState
はDONE
に変わります。 FileReader.readAsArrayBuffer()
- 指定された
Blob
の内容の読み込みを開始し、終了すると、result
属性にファイルのデータを表すArrayBuffer
が格納されます。 FileReader.readAsBinaryString()
- 指定された
Blob
の内容の読み込みを開始し、終了すると、result
属性にはファイルからの生のバイナリデータが文字列として格納されます。 FileReader.readAsDataURL()
- 指定された
Blob
の内容の読み込みを開始し、終了すると、result
属性にはファイルのデータを表すdata:
の URL が格納されます。 FileReader.readAsText()
- 指定された
Blob
の内容の読み込みを開始し、終了するとresult
属性にファイルの内容がテキスト文字列として格納されます。オプションでエンコーディング名を指定することができます。
イベント
addEventListener()
を使用するか、このインターフェイスの onイベント名
プロパティにイベントリスナーを代入するかして、これらのイベントを待ち受けます。
abort
- プログラムが
FileReader.abort()
を呼び出したなどの原因で、読み取り操作が中断されたときに発生します。
onabort
プロパティ経由でも利用できます。 error
- エラーのために読み取りが失敗したときに発生します。
onerror
プロパティ経由でも利用できます。 load
- 読み取りが正常に完了したときに発生します。
onload
プロパティ経由でも利用できます。 loadend
- 正常かどうかにかかわらず、読み取りが完了したときに発生します。
onloadend
プロパティ経由でも利用できます。 loadstart
- 読み取りが開始されたときに発生します。
onloadstart
プロパティ経由でも利用できます。 progress
- データの読み取り時に定期的に発生します。
onprogress
プロパティ経由でも利用できます。
仕様
仕様書 | 状態 | 備考 |
---|---|---|
File API FileReader の定義 |
草案 | 初回定義 |
ブラウザの対応
BCD tables only load in the browser