FileReader
==========

Sumario
-------

El objeto FileReader permite que las aplicaciones web lean ficheros (o información en buffer) almacenados en el cliente de forma asíncrona, usando los objetos `File` o `Blob` dependiendo de los datos que se pretenden leer.

El objeto File puede ser obtenido desde un objeto `FileList` (en-US) devuelto como resultado de la selección de archivos por parte del usuario en un elemento `<input>`, desde el objeto `DataTransfer` (en-US) producido por una operación de arrastre (drag and drop) o desde la API mozGetAsFile () en un `HTMLCanvasElement`.

Constructor
-----------
```

FileReader FileReader();
```


Mira el artículo *Using files from web applications* para más detalles y ejemplos.

Propiedades
-----------

`FileReader.error` (en-US) Read only 

Un `DOMError` que representa el error que ocurrió al momento de leer el archivo.

`FileReader.readyState` (en-US) Read only 

Devuelve un entero que indica el estado de FileReader. Puede ser uno de los siguientes:

| `EMPTY` | `0` | No ha sido leido ningún dato aún. |
| --- | --- | --- |
| `LOADING` | `1` | La información está siendo leída. |
| `DONE` | `2` | Se ha completado la solicitud de lectura. |

`FileReader.result` Read only 

El contenido del fichero. Esta propieda es válida solo cuando la propiedad FileReader.readyState es 2, es decir, cuando la lectura ha finalizado. El formato de la información depende de los métodos usados al iniciar la operación de lectura.

### Controladores de eventos

`FileReader.onabort` (en-US)

Un controlador para el evento `abort` (en-US). Este evento se activa cada vez que se interrumpe la operación de lectura.

`FileReader.onerror` (en-US)

Un controlador para el evento `error` (en-US). Este evento se activa cada vez que la operación de lectura encuentra un error.

`FileReader.onload`

Un controlador para el evento `load`. Este evento se activa cada vez que la operación de lectura se ha completado satisfactoriamente.

`FileReader.onloadstart`

Un controlador para el evento `loadstart` (en-US). Este evento se activa cada vez que comienza la lectura.

`FileReader.onloadend`

Un controlador para el evento `loadend`. Este evento se activa cada vez que la operación de lecura se ha completado (ya sea con éxito o fallo).

`FileReader.onprogress`

Un controlador para el evento `progress` (en-US). Este evento se activa mientras se está leyendo el contenido del objeto `Blob`.


**Nota:** Nota: Como `FileReader` hereda de `EventTarget`, todos esos eventos también pueden ser escuchados usando el método `addEventListener`.

Métodos
-------

`FileReader.abort()` (en-US)

Interrumpe la operación de lectura. A su regreso `readyState` será `DONE`.

`FileReader.readAsArrayBuffer()`

Comienza la lectura del contenido del objeto `Blob` especificado, una vez terminada, el atributo `result` contiene un `ArrayBuffer` representando los datos del fichero.

`FileReader.readAsBinaryString()` (en-US)

Comienza la lectura del contenido del objeto `Blob`, una vez terminada, el atributo `result` contiene los datos binarios en bruto del archivo como una cadena.

`FileReader.readAsDataURL()`

Comienza la lectura del contenido del objeto `Blob`, una vez terminada, el atributo `result` contiene un `data:` URL que representa los datos del fichero.

`FileReader.readAsText()`

Comienza la lectura del contenido del objeto `Blob`, una vez terminada, el atributo `result` contiene el contenido del fichero como una cadena de texto.

Especificaciones
----------------

| Specification |
| --- |
| File API # APIASynch |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* Usando archivos desde aplicaciónes web
* `File`
* `Blob`