FileReader インターフェイス
FileReader インターフェイスは、File オブジェクトの内容をデータとして取得するためのプロパティ、メソッド、イベントが定義されたインターフェイスです。
- Web API
- └ DOM
- ├ Event ... AnimationEvent、ClipboardEventなど
- ├─ EventTarget
- └─ FileReader
読み込むことができるのは Blob や File オブジェクトで、データタイプをメソッドで指定して解析します。
詳しくは Example を参照してください。
非同期でサーバーからのファイル読み込み(AJAX)については XMLHttpRequest を参照してください。
- ad -
FileReader について
FileReader で解析できるのはローカル PC のファイルのみ
FileReader で解析できるのはローカル PC のファイルのみという解説がありますが、これについて調べてみました。
FileReader で扱うことができるのは Blob や File オブジェクトです。URL を指定することでファイルを読み込み File オブジェクトを生成する方法が Web API に用意されていません。 File インターフェイスに URL を指定してファイルを読み込む手段がないために、併せて FileReader でもローカル PC 以外のファイルを読み込むことができないです。
File オブジェクトを取得する方法には <input type="file" > を使用する方法がありますが、この方法で取得できるのはローカル PC のファイルだけです。
そのために、FileReader で扱えるのはローカル PC のファイルのみという解説になっていると思われます。
URL.createObjectURL() や MediaStream から 取得する方法の解説があるのですが、URL.createObjectURL() メソッドの引数は File オブジェクトであって、URL を指定することで取得できるファイルのことではありません。
MediaStream もデータ自体を扱いますが、URL から取得できるファイルのことではありません。
コンストラクター(Constructor)
FileReader オブジェクトを生成します(正確にはインスタンス、オブジェクスはインスタントも含む広義)。 File オブジェクトをデータ化するためには FileReader オブジェクトを生成します。
const file_reader = new FileReader();
- 引数
- なし
- 返り値
- FileReader インスタンス
プロパティ(Properties)
プロパティ | 概要 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
.error | エラーを DOMException で返す | ||||||||||||
.readyState | ファイルの読み込み状態を unsigned short 型の数値で返す。
| ||||||||||||
.result | ファイルの内容を取得 |
メソッド(Methods)
ファイルのデータ形式(データタイプ)によって読むこむためのメソッドを選択しなければなりません。
メソッド | 概要 |
---|---|
.abort() | リクエストの中止を実行 |
.readAsArrayBuffer() | ファイルの内容を固定長のバイナリデータとして読み込む |
.readAsBinaryString() | ファイルの内容をバイナリーデータとして読み込む。データは文字列として扱う |
.readAsDataURL() | ファイルの内容をデータとして読み込む。画像はこの読み込みメソッドを使用 |
.readAsText() | テキストデータとして読み込む |
イベント( Event )
FileReader インターフェイスに独自のイベントはないようです。
以下は FileReader で機能するイベントです。
その他は GlobalEventHandlers を参照してください。
Example
FileReader の例です。確認
ボタンをクリックすると実行します。
- ad -