Mit dem FileReader-Objekt können Webapplikationen den Inhalt von auf dem Computer des Benutzers gespeicherten Dateien (oder Rohdaten-Buffer) asynchron lesen. Mit File
oder Blob
-Objekten wird die zu lesende Datei oder die zu lesenden Daten spezifiziert.
File Objekte können über ein FileList
Objekt erhalten werden, welches als Ergebnis einer Dateiauswahl durch einen Benutzer über das <input>
Element zurückgegeben wird. Weitere mögliche Quellen sind drag and drop Ereignisse über ein DataTransfer
Objekt oder über die mozGetAsFile()
API des HTMLCanvasElement
.
Konstruktor
FileReader FileReader();
Im Kapitel Zugriff auf Dateien von Webapplikationen finden sich weitere Details und Beispiele.
Eigenschaften
FileReader.error
Read only- Ein
DOMError
, der den Fehler angibt, welcher beim Lesen der Datei entstanden ist. FileReader.readyState
Read only- Eine Zahl, welche den Status des
FileReader
angibt. Möglich ist eine der Status-Konstanten. FileReader.result
Read only- Der Inhalt der Datei. Diese Eigenschaft ist nur gültig, nachdem der Lesevorgang abgeschlossen ist. Das Format der Daten hängt davon ab, welche der Methoden zum Starten des Lesevorgangs benutzt wurde.
Event-Handler
FileReader.onabort
- Ein Handler für das
abort
-Event. Dieser Event wird gefeuert, wenn der Lesevorgang abgebrochen wird. FileReader.onerror
- Ein Handler für das
error
-Event. Dieser Event wird gefeuert, wenn beim Lesevorgang ein Fehler ensteht. FileReader.onload
- Ein Handler für das
load
-Event. Dieser Event wird gefeuert, wenn der Lesevorgang erfolgreich beendet wird. FileReader.onloadstart
- Ein Handler für das
loadstart
-Event. Dieser Event wird gefeuert, wenn der Lesevorgang gestartet wird. FileReader.onloadend
- Ein Handler für das
loadend
-Event. Dieser Event wird gefeuert, wenn der Lesevorgang beendet wird (entweder erfolgreich oder fehlerhaft). FileReader.onprogress
- Ein Handler für das
progress
-Event. Dieser Event wird gefeuert, während einBlob
-Inhalt gelesen wird.
Hinweis: DaFileReader
von EventTarget
erbt, kann auf alle diese Events auch mit der addEventListener
Methode gehört werden.
Status-Konstanten
EMPTY
:0
: Noch keine Daten geladen.LOADING
:1
: Daten werden geladen.DONE
:2
: Der Lesevorgang ist abgeschlossen.
Methoden
FileReader.abort()
- Bricht den Lesevorgang ab. Nach dem Return wird der
readyState
zuDONE
. FileReader.readAsArrayBuffer()
- Startet den Lesevorgang und liest den spezifierten
Blob
und, wenn der Lesevorgang abgeschlossen ist, enthältresult
einArrayBuffer
mit den Daten. FileReader.readAsBinaryString()
- Startet den Lesevorgang und liest den spezifierten
Blob
und, wenn der Lesevorgang abgeschlossen ist, enthältresult
die rohen Binär-Daten als String. FileReader.readAsDataURL()
- Startet den Lesevorgang und liest den spezifierten
Blob
und, wenn der Lesevorgang abgeschlossen ist, enthältresult
die Daten als Data-URL. FileReader.readAsText()
- Startet den Lesevorgang und liest den spezifierten
Blob
und , wenn der Lesevorgang abgeschlossen ist, enthältresult
die Daten als Text-String.
Spezifikationen
Spezifikation | Status | Kommentar |
---|---|---|
File API Die Definition von 'FileReader' in dieser Spezifikation. |
Arbeitsentwurf | Initial definition |
Browser-Kompatiblität
Feature | Firefox (Gecko) | Chrome | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basissupport | 3.6 (1.9.2)[1] | 7 | 10[2] | 12.02[3] | 6.0.2 |
Feature | Firefox Mobile (Gecko) | Android | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basissupport | 32 | 3 | 10 | 11.5 | 6.1 |
[1] Vor Gecko 2.0 beta 7 (Firefox 4.0 beta 7), waren alle Blob
parameters stattdessen File
Parameter; Das wurde aktualisiert um die Spezifikation zu erfüllen. Vor Gecko 13.0 (Firefox 13.0 / Thunderbird 13.0 / SeaMonkey 2.10) gab die FileReader.error
Eigenschaft ein FileError
Objekt zurück. Dieses Interface wurde wurde entfernt und FileReader.error
gibt nun einen DOMError
Objekt zurück, wie in dem aktuellen FileAPI Entwurf vorgesehen.
[2] IE9 hat ein File API Lab.
[3] Opera hat partiellen Support in 11.1.
Siehe auch
- Zugriff auf Dateien von Webapplikationen
File
Blob
- nsIDOMFileReader - Für addons/privileged scope