Archivo

Archivo

Una API para leer, escribir y navegar por las jerarquías de sistema de archivo, basadas en la api de archivo w3c.

Objetos

Acceso a la función

A partir de la versión 3.0, Cordova implementa nivel de dispositivo APIs como plugins. Uso de la CLI plugin comando, que se describe en la interfaz de línea de comandos, para añadir o eliminar esta característica para un proyecto:

    $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git
    $ cordova plugin rm org.apache.cordova.core.file

Para usar el plugin de transferencia de archivos es necesario agregar por separado.

    $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-file-transfer.git
    $ cordova plugin rm org.apache.cordova.core.file-transfer

Estos comandos se aplican a todas las plataformas específicas, sino modificar las opciones de configuración específicas de la plataforma que se describen a continuación:

Algunas plataformas que soportan esta característica sin necesidad de ninguna configuración especial. Ver soporte de plataforma para tener una visión general.


Archivo

Este objeto contiene los atributos de un solo archivo.

Propiedades

Métodos

Detalles

El File objeto contiene atributos de un solo archivo. Usted puede obtener una instancia de un File objeto llamando a una FileEntry del objeto file() método.

Plataformas soportadas

rebanada

Devolver un nuevo File objeto, para que FileReader devuelve sólo la porción especificada del archivo. Para valores negativos start o end se miden desde el final del archivo. Los índices se colocan en relación con el segmento actual. (Véase el siguiente ejemplo completo).

Parámetros:

Ejemplo rápido

var slicedFile = file.slice(10, 30);

Ejemplo completo

var slice1 = file.slice(100, 400);
var slice2 = slice1.slice(20, 35);

var slice3 = file.slice(120, 135);
// slice2 and slice3 are equivalent.

Plataformas soportadas


FileReader

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

Propiedades

Nota: No se admite la propiedad siguiente:

Métodos

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

readAsDataURL

Parámetros:

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:

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

readAsBinaryString

Actualmente apoyado sólo en iOS y Android.

Parámetros:

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:

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);

FileWriter

Como objeto que le permite crear y escribir datos en un archivo.

Propiedades

La siguiente propiedad no es compatible:

Métodos

Detalles

El FileWriter objeto ofrece una manera de escribir archivos codificado en UTF-8 en el sistema de archivos del dispositivo. Aplicaciones responden a writestart , progress , write , writeend , error , y abort eventos.

Cada FileWriter corresponde a un solo archivo, a la que se pueden escribir datos muchas veces. El FileWriter mantiene el archivo position y length atributos, que permiten la aplicación para seek y write en el archivo. De forma predeterminada, el FileWriter escribe al principio del archivo, sobrescribiendo los datos existentes. Conjunto opcional append booleana a true en el FileWriter del constructor para escribir en el final del archivo.

Datos de texto es apoyados por todas las plataformas que se enumeran a continuación. Texto es codificado como UTF-8 antes de que se escriben en el sistema de archivos. Algunas plataformas soportan datos binarios, que pueden pasar en un ArrayBuffer o un Blob.

Plataformas soportadas

Texto y soporte binario:

Soporte de sólo texto:

Buscar ejemplo rápido

function win(writer) {
    // fast forwards file pointer to end of file
    writer.seek(writer.length);
};

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

entry.createWriter(win, fail);

Truncar ejemplo rápido

function win(writer) {
    writer.truncate(10);
};

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

entry.createWriter(win, fail);

Escribir rápido ejemplo

function win(writer) {
    writer.onwrite = function(evt) {
        console.log("write success");
    };
    writer.write("some sample text");
};

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

entry.createWriter(win, fail);

Binario escribir ejemplo rápido

function win(writer) {
    var data = new ArrayBuffer(5),
        dataView = new Int8Array(data);
    for (i=0; i < 5; i++) {
        dataView[i] = i;
    }
    writer.onwrite = function(evt) {
        console.log("write success");
    };
    writer.write(data);
};

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

entry.createWriter(win, fail);

Anexar ejemplo rápido

function win(writer) {
    writer.onwrite = function(evt) {
    console.log("write success");
};
writer.seek(writer.length);
    writer.write("appended text");
};

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

entry.createWriter(win, fail);

Abortar ejemplo rápido

function win(writer) {
    writer.onwrite = function(evt) {
        console.log("write success");
    };
    writer.write("some sample text");
    writer.abort();
};

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

entry.createWriter(win, fail);

Ejemplo completo

<!DOCTYPE html>
<html>
  <head>
    <title>FileWriter 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", {create: true, exclusive: false}, gotFileEntry, fail);
    }

    function gotFileEntry(fileEntry) {
        fileEntry.createWriter(gotFileWriter, fail);
    }

    function gotFileWriter(writer) {
        writer.onwriteend = function(evt) {
            console.log("contents of file now 'some sample text'");
            writer.truncate(11);
            writer.onwriteend = function(evt) {
                console.log("contents of file now 'some sample'");
                writer.seek(4);
                writer.write(" different text");
                writer.onwriteend = function(evt){
                    console.log("contents of file now 'some different text'");
                }
            };
        };
        writer.write("some sample text");
    }

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

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

Sistema de archivos

Este objeto representa un sistema de archivos.

Propiedades

Detalles

El FileSystem objeto representa la información sobre el sistema de archivos. El nombre del sistema de archivos es único en toda la lista de sistemas de archivos expuestos. La propiedad raíz contiene una DirectoryEntry objeto que representa el directorio raíz del sistema de archivos.

Plataformas soportadas

Ejemplo de archivo de sistema rápido

function onSuccess(fileSystem) {
    console.log(fileSystem.name);
    console.log(fileSystem.root.name);
}

// request the persistent file system
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onSuccess, null);

Ejemplo completo

<!DOCTYPE html>
<html>
  <head>
    <title>File System 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, onFileSystemSuccess, fail);
    }

    function onFileSystemSuccess(fileSystem) {
        console.log(fileSystem.name);
        console.log(fileSystem.root.name);
    }

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

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

FileEntry

Representa un archivo en un sistema de archivos, como se define en la especificación W3C directorios y sistemas .

Propiedades

Nota: El siguiente atributo está definido por la especificación del W3C, pero no es compatible:

Métodos

Plataformas soportadas

getMetadata

Ver metadatos de un archivo.

Parámetros:

Ejemplo rápido

function success(metadata) {console.log ("última modificación:" + metadata.modificationTime);}

function fail(error) {alert(error.code)};

/ / Solicitud objeto de metadatos para esta entrada entry.getMetadata (éxito, fail);

setMetadata

Conjunto de metadatos en un archivo.

Actualmente sólo funciona en iOS.

Parámetros:

Ejemplo rápido

function success() {
    console.log("The metadata was successfully set.");
}

function fail() {
    alert("There was an error in setting the metadata");
}

// Set the metadata
entry.setMetadata(success, fail, { "com.apple.MobileBackup": 1});

iOS Quirk

Ejemplo rápido

function setFileMetadata(localFileSystem, filePath, metadataKey, metadataValue)
{
    var onSetMetadataWin = function() {
        console.log("success setting metadata")
    }
    var onSetMetadataFail = function() {
        console.log("error setting metadata")
    }

    var onGetFileWin = function(parent) {
        var data = {};
        data[metadataKey] = metadataValue;
        parent.setMetadata(onSetMetadataWin, onSetMetadataFail, data);
    }
    var onGetFileFail = function() {
        console.log("error getting file")
    }

    var onFSWin = function(fileSystem) {
        fileSystem.root.getFile(filePath, {create: true, exclusive: false}, onGetFileWin, onGetFileFail);
    }

    var onFSFail = function(evt) {
        console.log(evt.target.error.code);
    }

    window.requestFileSystem(localFileSystem, 0, onFSWin, onFSFail);
}

    setFileMetadata(LocalFileSystem.PERSISTENT, "Backups/sqlite.db", "com.apple.MobileBackup", 1);

moveTo

Mover un archivo a una ubicación diferente en el sistema de archivos. Un error de los resultados si la aplicación intenta:

Además, mover un archivo en la cima de un archivo existente intentos eliminar y reemplazar ese archivo.

Parámetros:

Ejemplo rápido

function success(entry) {
    console.log("New Path: " + entry.fullPath);
}

function fail(error) {
    alert(error.code);
}

function moveFile(entry) {
    var parent = document.getElementById('parent').value,
        parentName = parent.substring(parent.lastIndexOf('/')+1),
        parentEntry = new DirectoryEntry(parentName, parent);

    // move the file to a new directory and rename it
    entry.moveTo(parentEntry, "newFile.txt", success, fail);
}

copyTo

Copiar un archivo a una nueva ubicación en el sistema de archivos. Un error de los resultados si la aplicación intenta:

Parámetros:

Ejemplo rápido

function win(entry) {
    console.log("New Path: " + entry.fullPath);
}

function fail(error) {
    alert(error.code);
}

function copyFile(entry) {
    var parent = document.getElementById('parent').value,
        parentName = parent.substring(parent.lastIndexOf('/')+1),
        parentEntry = new DirectoryEntry(parentName, parent);

    // copy the file to a new directory and rename it
    entry.copyTo(parentEntry, "file.copy", success, fail);
}

Visita

Devuelve una dirección URL que se puede utilizar para localizar el archivo.

Ejemplo rápido

// Request the URL for this entry
var fileURL = entry.toURL();
console.log(fileURL);

quitar

Elimina un archivo.

Parámetros:

Ejemplo rápido

function success(entry) {
    console.log("Removal succeeded");
}

function fail(error) {
    alert('Error removing file: ' + error.code);
}

// remove the file
entry.remove(success, fail);

getParent

Ver el padre DirectoryEntry que contiene el archivo.

Parámetros:

Ejemplo rápido

function success(parent) {
    console.log("Parent Name: " + parent.name);
}

function fail(error) {
    alert(error.code);
}

// Get the parent DirectoryEntry
entry.getParent(success, fail);

createWriter

Crear un FileWriter objeto asociado con el archivo representado por elFileEntry.

Parámetros:

Ejemplo rápido

function success(writer) {
    writer.write("Some text to the file");
}

function fail(error) {
    alert(error.code);
}

// create a FileWriter to write to the file
entry.createWriter(success, fail);

archivo

Volver a File objeto que representa el estado actual del archivo que esta FileEntry representa.

Parámetros:

Ejemplo rápido

function success(file) {
    console.log("File size: " + file.size);
}

function fail(error) {
    alert("Unable to retrieve file properties: " + error.code);
}

// obtain properties of a file
entry.file(success, fail);

DirectoryEntry

Este objeto representa un directorio en un sistema de archivos, como se define en la especificación W3C directorios y sistemas .

Propiedades

Nota: El siguiente atributo está definido por la especificación del W3C, pero no es compatible:

Métodos

Los métodos siguientes pueden invocarse en un DirectoryEntry objeto:

Plataformas soportadas

getMetadata

Ver metadatos de un directorio.

Parámetros:

Ejemplo rápido

function success(metadata) {console.log ("última modificación:" + metadata.modificationTime);}

function fail(error) {alert(error.code)};

/ / Solicitud objeto de metadatos para esta entrada entry.getMetadata (éxito, fail);

setMetadata

Establece los atributos extendidos de un directorio, o metadatos. Actualmente sólo funciona en iOS.

Parámetros:

Ejemplo rápido

function success() {
    console.log("The metadata was successfully set.");
}

function fail() {
    alert("There was an error in setting the metadata");
}

// Set the metadata
entry.setMetadata(success, fail, { "com.apple.MobileBackup": 1});

iOS Quirk

Ejemplo rápido

function setFolderMetadata(localFileSystem, subFolder, metadataKey, metadataValue)
{
    var onSetMetadataWin = function() {
        console.log("success setting metadata")
    }
    var onSetMetadataFail = function() {
        console.log("error setting metadata")
    }

    var onGetDirectoryWin = function(parent) {
        var data = {};
        data[metadataKey] = metadataValue;
        parent.setMetadata(onSetMetadataWin, onSetMetadataFail, data);
    }
    var onGetDirectoryFail = function() {
        console.log("error getting dir")
    }

    var onFSWin = function(fileSystem) {
        fileSystem.root.getDirectory(subFolder, {create: true, exclusive: false}, onGetDirectoryWin, onGetDirectoryFail);
    }

    var onFSFail = function(evt) {
        console.log(evt.target.error.code);
    }

    window.requestFileSystem(localFileSystem, 0, onFSWin, onFSFail);
}

    setFolderMetadata(LocalFileSystem.PERSISTENT, "Backups", "com.apple.MobileBackup", 1);

moveTo

Mover un directorio a una ubicación diferente en el sistema de archivos. Un error de los resultados si la aplicación intenta:

Mover un directorio en la cima de un directorio vacío existente intenta eliminar y reemplazar ese directorio.

Parámetros:

Ejemplo rápido

function success(entry) {
    console.log("New Path: " + entry.fullPath);
}

function fail(error) {
    alert(error.code);
}

function moveDir(entry) {
    var parent = document.getElementById('parent').value,
        parentName = parent.substring(parent.lastIndexOf('/')+1),
        newName = document.getElementById('newName').value,
        parentEntry = new DirectoryEntry(parentName, parent);

    // move the directory to a new directory and rename it
    entry.moveTo(parentEntry, newName, success, fail);
}

copyTo

Copiar un directorio en una ubicación diferente en el sistema de archivos. Un error de los resultados si la aplicación intenta:

Directorio copias son siempre recursivo y copiar todo el contenido del directorio.

Parámetros:

Ejemplo rápido

function win(entry) {
    console.log("New Path: " + entry.fullPath);
}

function fail(error) {
    alert(error.code);
}

function copyDir(entry) {
    var parent = document.getElementById('parent').value,
        parentName = parent.substring(parent.lastIndexOf('/')+1),
        newName = document.getElementById('newName').value,
        parentEntry = new DirectoryEntry(parentName, parent);

    // copy the directory to a new directory and rename it
    entry.copyTo(parentEntry, newName, success, fail);
}

Visita

Devuelve una dirección URL que se puede utilizar para localizar el directorio.

Ejemplo rápido

// Get the URL for this directory
var dirURL = entry.toURL();
console.log(dirURL);

quitar

Elimina un directorio. Un error de los resultados si la aplicación intenta:

Parámetros:

Ejemplo rápido

function success(entry) {console.log ("retiro tuvo éxito");}

function fail(error) {alert ('Error eliminar directorio: ' + error.code);}

/ / quitar este directorio entry.remove (éxito, fail);

getParent

Ver el padre DirectoryEntry que contiene el directorio.

Parámetros:

Ejemplo rápido

function success(parent) {
    console.log("Parent Name: " + parent.name);
}

function fail(error) {
    alert('Failed to get parent directory: ' + error.code);
}

// Get the parent DirectoryEntry
entry.getParent(success, fail);

createReader

Crea un nuevo DirectoryReader para leer las entradas en un directorio.

Ejemplo rápido

// create a directory reader
var directoryReader = entry.createReader();

getDirectory

Crea o busca un directorio existente. Un error de los resultados si la aplicación intenta:

Parámetros:

Ejemplo rápido

function success(dirEntry) {console.log ("nombre del directorio:" + dirEntry.name);}

function fail(error) {alert ("no se puede crear nuevo directorio:" + error.code);}

/ / Recuperar un directorio existente, o crearlo si no existe ya entry.getDirectory ("newDir", {crear: verdadero, exclusivo: false}, éxito, fail);

getFile

Crea o busca un archivo. Un error de los resultados si la aplicación intenta:

Parámetros:

Ejemplo rápido

function success(fileEntry) {console.log ("nombre de archivo:" + fileEntry.name);}

function fail(error) {alert ("error al recuperar el archivo:" + error.code);}

/ / Recuperar un archivo existente, o crearlo si no existe entry.getFile ("newFile.txt", {crear: verdadero, exclusivo: false}, éxito, fail);

removeRecursively

Elimina un directorio y todo su contenido. En caso de error (por ejemplo, tratando de eliminar un directorio que contiene un archivo que no se puede quitar), algunos de los contenidos del directorio pueden ser eliminados. Un error de los resultados si la aplicación intenta:

Parámetros:

Ejemplo rápido

function success(parent) {
    console.log("Remove Recursively Succeeded");
}

function fail(error) {
    alert("Failed to remove directory or it's contents: " + error.code);
}

// remove the directory and all it's contents
entry.removeRecursively(success, fail);

Rarezas de blackBerry

Puede fallar con un ControlledAccessException en los siguientes casos:

Solución: Asegúrese de directorios temporales se limpian manualmente, o por la aplicación antes de la reinstalación.

Solución: Desconecte el cable USB desde el dispositivo y vuelva a ejecutar.


DirectoryReader

Un objeto que enumera los archivos y directorios dentro de un directorio, tal como se define en la especificación W3C directorios y sistemas .

Métodos

Plataformas soportadas

readEntries

Leer las entradas en este directorio.

Parámetros:

Ejemplo rápido

function success(entries) {
    var i;
    for (i=0; i<entries.length; i++) {
        console.log(entries[i].name);
    }
}

function fail(error) {
    alert("Failed to list directory contents: " + error.code);
}

// Get a directory reader
var directoryReader = dirEntry.createReader();

// Get a list of all the entries in the directory
directoryReader.readEntries(success,fail);

File Transfer

El FileTransfer objeto permite cargar o descargar archivos desde y hacia un servidor.

Propiedades

Métodos

Detalles

El FileTransfer objeto proporciona una manera para subir archivos a un servidor remoto mediante peticiones HTTP POST multi-partes. Se admiten los protocolos HTTP y HTTPS. Los parámetros opcionales pueden ser especificados por pasar un FileUploadOptions contra el upload() método. En subida exitosa, un FileUploadResult objeto se pasa a la devolución de llamada de éxito. Si se produce un error, un FileTransferError objeto se pasa el callback de error. También es posible (en iOS y Android) Descargar un archivo desde un servidor remoto y guardarla en el dispositivo.

Plataformas soportadas

subir

Parámetros:

Ejemplo rápido

// !! Assumes variable fileURI contains a valid URI to a text file on the device

var win = function (r) {
    console.log("Code = " + r.responseCode);
    console.log("Response = " + r.response);
    console.log("Sent = " + r.bytesSent);
}

var fail = function (error) {
    alert("An error has occurred: Code = " + error.code);
    console.log("upload error source " + error.source);
    console.log("upload error target " + error.target);
}

var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = fileURI.substr(fileURI.lastIndexOf('/') + 1);
options.mimeType = "text/plain";

var params = {};
params.value1 = "test";
params.value2 = "param";

options.params = params;

var ft = new FileTransfer();
ft.upload(fileURI, encodeURI("http://some.server.com/upload.php"), win, fail, options);

Ejemplo completo

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title>File Transfer 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() {
            // Retrieve image file location from specified source
            navigator.camera.getPicture(
                uploadPhoto,
                function(message) { alert('get picture failed'); },
                {
                    quality         : 50,
                    destinationType : navigator.camera.DestinationType.FILE_URI,
                    sourceType      : navigator.camera.PictureSourceType.PHOTOLIBRARY
                }
            );
        }

        function uploadPhoto(imageURI) {
            var options = new FileUploadOptions();
            options.fileKey="file";
            options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
            options.mimeType="image/jpeg";

            var params = {};
            params.value1 = "test";
            params.value2 = "param";

            options.params = params;

            var ft = new FileTransfer();
            ft.upload(imageURI, encodeURI("http://some.server.com/upload.php"), win, fail, options);
        }

        function win(r) {
            console.log("Code = " + r.responseCode);
            console.log("Response = " + r.response);
            console.log("Sent = " + r.bytesSent);
        }

        function fail(error) {
            alert("An error has occurred: Code = " + error.code);
            console.log("upload error source " + error.source);
            console.log("upload error target " + error.target);
        }

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

Ajuste Upload cabeceras

Compatible con iOS y Android

function win(r) {
    console.log("Code = " + r.responseCode);
    console.log("Response = " + r.response);
    console.log("Sent = " + r.bytesSent);
}

function fail(error) {
    alert("An error has occurred: Code = " + error.code);
    console.log("upload error source " + error.source);
    console.log("upload error target " + error.target);
}

var uri = encodeURI("http://some.server.com/upload.php");

var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=fileURI.substr(fileURI.lastIndexOf('/')+1);
options.mimeType="text/plain";

var headers={'headerParam':'headerValue'};

options.headers = headers;

var ft = new FileTransfer();
ft.upload(fileURI, uri, win, fail, options);

Rarezas Android

Establezca el chunkedMode opción de false para evitar problemas de subir a un servidor Nginx.

descargar

Parámetros:

Ejemplo rápido

// !! Asume filePath es una ruta válida en el dispositivo var fileTransfer = new FileTransfer();
var uri = encodeURI ("http://some.server.com/download.php");

fileTransfer.download (uri, filePath, function(entry) {console.log ("descarga completa:" + entry.fullPath);
    }, function(error) {console.log ("error al descargar el origen" + error.source);
        Console.log ("descargar error objetivo" + error.target);
        Console.log ("código de error de carga" + error.code);
    }, falso, {encabezados: {"Autorización": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA =="}});

abortar

Aborta a una transferencia en curso. El callback onerror se pasa un objeto FileTransferError que tiene un código de error de FileTransferError.ABORT_ERR.

Plataformas soportadas

Ejemplo rápido

// !! Asume fileURI variable contiene un URI válido para un archivo de texto en la victoria de dispositivo var function(r) = {console.log ("no se debe llamar.");}

var fallar = function(error) {/ / error.code == FileTransferError.ABORT_ERR alert ("ha ocurrido un error: código =" + error.code);
    Console.log ("error al cargar el origen" + error.source);
    Console.log ("upload error objetivo" + error.target);}

var opciones = new FileUploadOptions();
options.fileKey="file";
options.fileName="myphoto.jpg";
options.mimeType="image/jpeg";

var ft = new FileTransfer();
Ft.upload (fileURI, encodeURI ("http://some.server.com/upload.php"), win, fail, opciones);
Ft.Abort();

OnProgress

Llama con un ProgressEvent cuando se transfiere un nuevo paquete de datos.

Plataformas soportadas

Ejemplo

fileTransfer.onprogress = function(progressEvent) {
    if (progressEvent.lengthComputable) {
      loadingStatus.setPercentage(progressEvent.loaded / progressEvent.total);
    } else {
      loadingStatus.increment();
    }
};
fileTransfer.download(...); // or fileTransfer.upload(...);

Rarezas - en ambos Android / iOS, lengthComputable es false de descargas que utilizan codificación gzip.


FileUploadOptions

A FileUploadOptions objeto puede pasar a la FileTransfer del objeto upload() método para especificar parámetros adicionales a la escritura de la carga.

Propiedades

Descripción

A FileUploadOptions objeto puede pasar a la FileTransfer del objeto upload() método para especificar parámetros adicionales a la escritura de la carga.

WP7 Quirk


FileUploadResult

A FileUploadResult objeto se pasa a la devolución del éxito de la FileTransfer del objeto upload() método.

Propiedades

Descripción

El FileUploadResult objeto es devuelto vía el callback de éxito de la FileTransfer del objeto upload() método.

iOS rarezas


Banderas

Proporciona argumentos para la DirectoryEntry del objeto getFile() y getDirectory() los métodos, que buscar o crean archivos y directorios, respectivamente.

Propiedades

Plataformas soportadas

Ejemplo rápido

/ / Obtener el directorio de datos, creándola si no existe.
dataDir = fileSystem.root.getDirectory ("datos", {crear: true});

/ / Crear el archivo de bloqueo, si y sólo si no existe.
lockFile = dataDir.getFile ("lockfile.txt", {crear: verdadero, exclusivo: true});

LocalFileSystem

Este objeto proporciona una manera de obtener sistemas de archivos root.

Métodos

Constantes

Detalles

La LocalFileSystem métodos del objeto se definen en el window objeto.

Plataformas soportadas

Ejemplo de archivo de sistema rápida de solicitar

function onSuccess(fileSystem) {
    console.log(fileSystem.name);
}

// request the persistent file system
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onSuccess, onError);

Resolver el sistema de archivos Local URI ejemplo rápido

function onSuccess(fileEntry) {
    console.log(fileEntry.name);
}

window.resolveLocalFileSystemURI("file:///example.txt", onSuccess, onError);

Ejemplo completo

<!DOCTYPE html>
<html>
  <head>
    <title>Local File System 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, onFileSystemSuccess, fail);
        window.resolveLocalFileSystemURI("file:///example.txt", onResolveSuccess, fail);
    }

    function onFileSystemSuccess(fileSystem) {
        console.log(fileSystem.name);
    }

    function onResolveSuccess(fileEntry) {
        console.log(fileEntry.name);
    }

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

    </script>
  </head>
  <body>
    <h1>Example</h1>
    <p>Local File System</p>
  </body>
</html>

requestFileSystem

Solicite un sistema de archivos para almacenar datos de la aplicación.

 window.requestFileSystem(type, size, successCallback, errorCallback)

Ejemplo de archivo de sistema rápida de solicitar

function onSuccess(fileSystem) {
    console.log(fileSystem.name);
}

// request the persistent file system
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onSuccess, onError);

Metadatos

Una interfaz que proporciona información sobre el estado de un archivo o directorio.

Propiedades

Detalles

El Metadata objeto representa la información sobre el estado de un archivo o directorio. Llamando a DirectoryEntry o FileEntry del objeto getMetadata() método da como resultado un Metadata instancia.

Plataformas soportadas

Ejemplo rápido

function win(metadata) {
    console.log("Last Modified: " + metadata.modificationTime);
}

// Request the metadata object for this entry
entry.getMetadata(win, null);

FileError

A FileError objeto se establece cuando se produce un error en cualquiera de los métodos de archivo API.

Propiedades

Constantes

Descripción

El FileError objeto es el único parámetro proporcionado a cualquiera de los callbacks de error de la API archivo. Para determinar el tipo de error, comparar su code propiedad a cualquiera de los listados arriba.


FileTransferError

A FileTransferError objeto se pasa a un callback de error cuando se produce un error.

Propiedades

Constantes

Descripción

El FileTransferError objeto se pasa el callback de error cuando se produce un error al cargar o descargar un archivo.