FileReader

El FileReader permite el acceso básico a un archivo.

Propiedades

  • readyState: uno del lector de tres Estados posibles, ya sea EMPTY , LOADING oDONE.

  • resultado: el contenido del archivo que ha leído. (DOMString)

  • error: un objeto que contiene errores. (FileError)

  • onloadstart: cuando comienza la lectura. (Función)

  • OnLoad: cuando la lectura ha completado con éxito. (Función)

  • onabort: cuando la lectura ha sido abortada. Por ejemplo, invocando el abort() método. (Función)

  • OnError: cuando la lectura ha fallado. (Función)

  • onloadend: llamado cuando se haya completado la solicitud (ya sea en el éxito o el fracaso). (Función)

Nota: No se admite la propiedad siguiente:

  • OnProgress: llamado al leer el archivo, informe de progreso en términos de progress.loaded / progress.total . (Función)

Métodos

  • abortar: interrupciones leer el archivo.

  • readAsDataURL: leer archivos y datos de retorno como un enlace de datos codificados en base64.

  • readAsText: fichero de texto que Lee.

  • readAsBinaryString: Lee el archivo como binarios y devuelve una cadena binaria.

  • readAsArrayBuffer: Lee del archivo como unaArrayBuffer.

Detalles

El FileReader objeto ofrece una manera de leer los archivos de sistema de archivos del dispositivo. Pueden leer archivos de texto o como una cadena de datos codificados en base64. Detectores de eventos reciben el loadstart , progress , load , loadend , error , y abort eventos.

Plataformas soportadas

  • Android
  • BlackBerry WebWorks (OS 5.0 y superiores)
  • iOS
  • Windows Phone 7 y 8
  • Windows 8

readAsDataURL

Parámetros:

  • archivo: el objeto de archivo a leer.

Ejemplo rápido

function win(file) {
    var reader = new FileReader();
    reader.onloadend = function (evt) {
        console.log("read success");
        console.log(evt.target.result);
    };
    reader.readAsDataURL(file);
};

var fail = function (error) {
    console.log(error.code);
};

entry.file(win, fail);

readAsText

Parámetros:

  • archivo: el objeto de archivo a leer.

  • codificación: la codificación a utilizar para codificar el contenido del archivo. Valor por defecto es UTF8.

Ejemplo rápido

function win(file) {
    var reader = new FileReader();
    reader.onloadend = function (evt) {
        console.log("read success");
        console.log(evt.target.result);
    };
    reader.readAsText(file);
};

var fail = function (error) {
    console.log(error.code);
};

entry.file(win, fail);

abortar

function win(file) {
    var reader = new FileReader();
    reader.onloadend = function(evt) {
        console.log("read success");
        console.log(evt.target.result);
    };
    reader.readAsText(file);
    reader.abort();
};

function fail(error) {
    console.log(error.code);
}

entry.file(win, fail);

Ejemplo completo

<!DOCTYPE html>
<html>
  <head>
    <title>FileReader Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
    }

    function gotFS(fileSystem) {
        fileSystem.root.getFile("readme.txt", null, gotFileEntry, fail);
    }

    function gotFileEntry(fileEntry) {
        fileEntry.file(gotFile, fail);
    }

    function gotFile(file){
        readDataUrl(file);
        readAsText(file);
    }

    function readDataUrl(file) {
        var reader = new FileReader();
        reader.onloadend = function(evt) {
            console.log("Read as data URL");
            console.log(evt.target.result);
        };
        reader.readAsDataURL(file);
    }

    function readAsText(file) {
        var reader = new FileReader();
        reader.onloadend = function(evt) {
            console.log("Read as text");
            console.log(evt.target.result);
        };
        reader.readAsText(file);
    }

    function fail(error) {
        console.log(error.code);
    }

    </script>
  </head>
  <body>
    <h1>Example</h1>
    <p>Read File</p>
  </body>
</html>

iOS rarezas

  • No se admite el parámetro de codificación y codificación UTF8 siempre está en efecto.

readAsBinaryString

Actualmente apoyado sólo en iOS y Android.

Parámetros:

  • archivo: el objeto de archivo a leer.

Ejemplo rápido

function win(file) {
    var reader = new FileReader();
    reader.onloadend = function (evt) {
        console.log("read success");
        console.log(evt.target.result);
    };
    reader.readAsBinaryString(file);
};

var fail = function (error) {
    console.log(error.code);
};

entry.file(win, fail);

readAsArrayBuffer

Actualmente apoyado sólo en iOS y Android.

Parámetros:

  • archivo: el objeto de archivo a leer.

Ejemplo rápido

function win(file) {
    var reader = new FileReader();
    reader.onloadend = function (evt) {
        console.log("read success");
        console.log(new Uint8Array(evt.target.result));
    };
    reader.readAsArrayBuffer(file);
};

var fail = function (error) {
    console.log(error.code);
};

entry.file(win, fail);