cordova-plugin-file-transfer

Este plugin te permite cargar y descargar archivos.

Este plugin define global FileTransfer , FileUploadOptions constructores.

Aunque en el ámbito global, no están disponibles hasta después de la deviceready evento.

document.addEventListener ("deviceready", onDeviceReady, false);
function onDeviceReady() {console.log(FileTransfer)};

Instalación

Cordova plugin añade cordova-plugin-file-transferencia

Plataformas soportadas

  • Amazon fire OS

  • Android

  • BlackBerry 10

  • Explorador

  • Firefox OS **

  • iOS

  • Windows Phone 7 y 8 *

  • Windows 8

  • Windows

  • *No son compatibles con onprogress ni abort() *

** *No son compatibles con onprogress *

FileTransfer

El FileTransfer objeto proporciona una manera de subir archivos mediante una solicitud HTTP de POST varias parte y para descargar archivos.

Propiedades

  • OnProgress: llama con un ProgressEvent cuando se transfiere un nuevo paquete de datos. (Función)

Métodos

  • cargar: envía un archivo a un servidor.

  • Descargar: descarga un archivo del servidor.

  • abortar: aborta una transferencia en curso.

subir

Parámetros:

  • fileURL: URL de Filesystem que representa el archivo en el dispositivo. Para atrás compatibilidad, esto también puede ser la ruta de acceso completa del archivo en el dispositivo. (Ver [hacia atrás compatibilidad notas] debajo)

  • servidor: dirección URL del servidor para recibir el archivo, como codificada porencodeURI().

  • successCallback: una devolución de llamada que se pasa un FileUploadResult objeto. (Función)

  • errorCallback: una devolución de llamada que se ejecuta si se produce un error recuperar la FileUploadResult . Invocado con un FileTransferError objeto. (Función)

  • Opciones: parámetros opcionales (objeto). Teclas válidas:

    • fileKey: el nombre del elemento de formulario. Por defecto es file . (DOMString)
    • nombre de archivo: el nombre del archivo a utilizar al guardar el archivo en el servidor. Por defecto es image.jpg . (DOMString)
    • httpMethod: método HTTP el utilizar - o PUT o POST . Por defecto es POST . (DOMString)
    • mimeType: el tipo mime de los datos para cargar. Por defecto es image/jpeg . (DOMString)
    • params: un conjunto de pares clave/valor opcional para pasar en la petición HTTP. (Objeto)
    • chunkedMode: Si desea cargar los datos en modo de transmisión fragmentado. Por defecto es true . (Boolean)
    • cabeceras: un mapa de valores de encabezado nombre/cabecera. Utilice una matriz para especificar más de un valor. (Objeto)
  • trustAllHosts: parámetro opcional, por defecto es false . Si establece en true , acepta todos los certificados de seguridad. Esto es útil ya que Android rechaza certificados autofirmados seguridad. No se recomienda para uso productivo. Compatible con iOS y Android. (boolean)

Ejemplo

// !! Asume fileURL variable contiene una dirección URL válida a un archivo de texto en el dispositivo, / / por ejemplo, ganar var cdvfile://localhost/persistent/path/to/file.txt = function (r) {console.log ("código =" + r.responseCode);
    Console.log ("respuesta =" + r.response);
    Console.log ("Sent =" + r.bytesSent);}

var fallar = function (error) {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 = fileURL.substr(fileURL.lastIndexOf('/') + 1);
options.mimeType = "text/plain";

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

options.params = params;

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

Ejemplo con cabeceras de subir y eventos de progreso (Android y iOS solamente)

function win(r) {console.log ("código =" + r.responseCode);
    Console.log ("respuesta =" + r.response);
    Console.log ("Sent =" + r.bytesSent);}

function fail(error) {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 uri = encodeURI ("http://some.server.com/upload.php");

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

cabeceras de var ={'headerParam':'headerValue'};

options.headers = encabezados;

var ft = new FileTransfer();
Ft.OnProgress = function(progressEvent) {si (progressEvent.lengthComputable) {loadingStatus.setPercentage(progressEvent.loaded / progressEvent.total);
    } {loadingStatus.increment() más;
    }
};
Ft.upload (fileURL, uri, win, fail, opciones);

FileUploadResult

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

Propiedades

  • bytesSent: el número de bytes enviados al servidor como parte de la carga. (largo)

  • responseCode: código de respuesta HTTP el devuelto por el servidor. (largo)

  • respuesta: respuesta el HTTP devuelto por el servidor. (DOMString)

  • cabeceras: cabeceras de respuesta HTTP el por el servidor. (Objeto)

    • Actualmente compatible con iOS solamente.

iOS rarezas

  • No es compatible con responseCode obytesSent.

descargar

Parámetros:

  • fuente: dirección URL del servidor para descargar el archivo, como codificada porencodeURI().

  • objetivo: Filesystem url que representa el archivo en el dispositivo. Para atrás compatibilidad, esto también puede ser la ruta de acceso completa del archivo en el dispositivo. (Ver [hacia atrás compatibilidad notas] debajo)

  • successCallback: una devolución de llamada que se pasa un FileEntry objeto. (Función)

  • errorCallback: una devolución de llamada que se ejecuta si se produce un error al recuperar los FileEntry . Invocado con un FileTransferError objeto. (Función)

  • trustAllHosts: parámetro opcional, por defecto es false . Si establece en true , acepta todos los certificados de seguridad. Esto es útil porque Android rechaza certificados autofirmados seguridad. No se recomienda para uso productivo. Compatible con iOS y Android. (boolean)

  • Opciones: parámetros opcionales, actualmente sólo soporta cabeceras (como autorización (autenticación básica), etc.).

Ejemplo

// !! Asume fileURL variable contiene una dirección URL válida a un camino en el dispositivo, / / por ejemplo, File Transfer var cdvfile://localhost/persistent/path/to/downloads/ = new FileTransfer();
var uri = encodeURI ("http://some.server.com/download.php");

fileTransfer.download (uri, fileURL, function(entry) {console.log ("descarga completa:" + entry.toURL());
    }, 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.

Ejemplo

// !! Asume fileURL variable contiene una dirección URL válida a un archivo de texto en el dispositivo, / / por ejemplo, ganar cdvfile://localhost/persistent/path/to/file.txt 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 (fileURL, encodeURI ("http://some.server.com/upload.php"), win, fail, opciones);
Ft.Abort();

FileTransferError

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

Propiedades

  • código: uno de los códigos de error predefinido enumerados a continuación. (Número)

  • fuente: URL a la fuente. (String)

  • objetivo: URL a la meta. (String)

  • HTTP_STATUS: código de estado HTTP. Este atributo sólo está disponible cuando se recibe un código de respuesta de la conexión HTTP. (Número)

  • cuerpo Cuerpo de la respuesta. Este atributo sólo está disponible cuando se recibe una respuesta de la conexión HTTP. (String)

  • excepción: cualquier e.getMessage o e.toString (String)

Constantes

  • 1 = FileTransferError.FILE_NOT_FOUND_ERR
  • 2 = FileTransferError.INVALID_URL_ERR
  • 3 = FileTransferError.CONNECTION_ERR
  • 4 = FileTransferError.ABORT_ERR
  • 5 = FileTransferError.NOT_MODIFIED_ERR

Al revés notas de compatibilidad

Versiones anteriores de este plugin sólo aceptaría dispositivo-absoluto-archivo-rutas como la fuente de carga, o como destino para las descargas. Estos caminos normalmente sería de la forma

/var/mobile/Applications/<application UUID>/Documents/path/to/file  (iOS)
/storage/emulated/0/path/to/file                                    (Android)

Para atrás compatibilidad, estos caminos son aceptados todavía, y si su solicitud ha grabado caminos como éstos en almacenamiento persistente, entonces pueden seguir utilizarse.

Estos caminos fueron expuestos anteriormente en el fullPath propiedad de FileEntry y DirectoryEntry objetos devueltos por el plugin de archivo. Las nuevas versiones del archivo plugin, sin embargo, ya no exponen estos caminos a JavaScript.

Si va a actualizar a una nueva (1.0.0 o más reciente) versión del archivo y previamente han estado utilizando entry.fullPath como argumentos para download() o upload() , entonces tendrá que cambiar su código para usar URLs de sistema de archivos en su lugar.

FileEntry.toURL()y DirectoryEntry.toURL() devolver un filesystem dirección URL de la forma

cdvfile://localhost/persistent/path/to/file

que puede ser utilizado en lugar de la ruta del archivo absoluta tanto en download() y upload() los métodos.