Fichier

Fichier

Une API pour lire, écrire et naviguer dans les hiérarchies de système de fichiers, basés sur l' api du fichier w3c.

Objets

Accéder à la fonctionnalité

Depuis la version 3.0, Cordova implémente API au niveau du périphérique comme les plugins. Utiliser de la CLI plugin commande, décrite dans l'Interface de ligne de commande, d'ajouter ou de supprimer cette fonction pour un projet :

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

Pour utiliser le plugin de transfert de fichiers vous devez ajouter séparément.

    $ 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

Ces commandes s'appliquent à toutes les plates-formes ciblées, mais modifier les paramètres de configuration spécifiques à la plateforme décrites ci-dessous :

Certaines plates-formes peuvent prendre en charge cette fonctionnalité sans nécessiter aucune configuration spéciale. Voir plate-forme prise en charge pour une vue d'ensemble.


Fichier

Cet objet contient des attributs d'un fichier unique.

Propriétés

Méthodes

Détails

Le File objet contient des attributs d'un fichier unique. Vous pouvez obtenir une instance d'un File objet en appelant une FileEntry de l'objet file() méthode.

Plates-formes prises en charge

tranche

Retourner un nouveau File objet, dont FileReader retourne uniquement la partie spécifiée du fichier. Négatif pour les valeurs start ou end sont mesurées à partir de la fin du fichier. Les index sont positionnés par rapport à la tranche actuelle. (Voir l'exemple complet ci-dessous.)

Paramètres :

Petit exemple

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

Exemple complet

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

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

Plates-formes prises en charge


FileReader

Le FileReader permet l'accès à un fichier de base.

Propriétés

Remarque : Le porperty suivant n'est pas pris en charge :

Méthodes

Détails

Le FileReader objet offre un moyen de lire les fichiers de système de fichiers de l'appareil. Les fichiers peuvent être lus sous forme de texte ou comme une chaîne de données codées en base64. Écouteurs d'événements recevoir la loadstart , progress , load , loadend , error , et abort des événements.

Plates-formes prises en charge

readAsDataURL

Paramètres :

Petit exemple

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

Paramètres :

Petit exemple

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

abandonner.

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

Exemple complet

<!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 Quirks

readAsBinaryString

Actuellement pris en charge sur iOS et Android uniquement.

Paramètres :

Petit exemple

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

Actuellement pris en charge sur iOS et Android uniquement.

Paramètres :

Petit exemple

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

En tant qu'objet permet de créer et d'écrire des données dans un fichier.

Propriétés

La propriété suivante n'est pas supportée :

Méthodes

Détails

Le FileWriter objet offre la possibilité d'écrire des fichiers codés en UTF-8 pour le système de fichiers du périphérique. Les applications répondent aux writestart , progress , write , writeend , error , et abort des événements.

Chaque FileWriter correspond à un fichier unique, à laquelle les données peuvent être écrites plusieurs fois. La FileWriter maintient du fichier position et length attributs, qui permettent l'application pour seek et write n'importe où dans le fichier. Par défaut, le FileWriter écrit au début du fichier, en remplaçant les données existantes. Définissez le paramètre optionnel append booléen à true dans la FileWriter de constructeur pour écrire à la fin du fichier.

Données textuelles sont pris en charge par toutes les plates-formes répertoriées ci-dessous. Texte est codé au format UTF-8 avant d'être écrites sur le système de fichiers. Certaines plates-formes soutiennent également les données binaires, qui peuvent être passées comme un ArrayBuffer ou un objet Blob.

Plates-formes prises en charge

Texte et binaire Support :

Support de texte uniquement :

Chercher petit exemple

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

Petit exemple de tronquer

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

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

entry.createWriter(win, fail);

Écrire exemple rapide

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

Binaire écrire exemple rapide

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

Ajouter exemple rapide

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

Abandon rapide exemple

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

Exemple complet

<!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>

Système de fichiers

Cet objet représente un système de fichiers.

Propriétés

Détails

Le FileSystem objet représente des informations sur le système de fichiers. Le nom du système de fichiers est unique dans l'ensemble de la liste des systèmes de fichiers exposées. La propriété root contient un DirectoryEntry objet qui représente le répertoire racine du système fichier.

Plates-formes prises en charge

Exemple de fichier rapide de système

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

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

Exemple complet

<!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

Représente un fichier sur un système de fichiers, tel que défini dans la spécification W3C répertoires et systèmes .

Propriétés

Remarque : L'attribut suivant est défini par la spécification W3C, mais n'est pas supportée :

Méthodes

Plates-formes prises en charge

getMetadata

Recherche des métadonnées relatives à un fichier.

Paramètres :

Petit exemple

function success(metadata) {console.log ("date de modification:" + metadata.modificationTime);}

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

/ / Demande l'objet de métadonnées pour cette entrée entry.getMetadata (succès, échec) ;

setMetadata

Ensemble de métadonnées sur un fichier.

Actuellement ne fonctionne que sur iOS.

Paramètres :

Petit exemple

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

Spécificités iOS

Petit exemple

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

Déplace un fichier vers un autre emplacement sur le système de fichiers. Une erreur se produit si l'application tente de :

En outre, déplacer un fichier sur un fichier existant tente de supprimer et de remplacer ce fichier.

Paramètres :

Petit exemple

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

Copier un fichier vers un nouvel emplacement sur le système de fichiers. Une erreur se produit si l'application tente de :

Paramètres :

Petit exemple

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

toURL

Retourne une URL qui peut être utilisée pour localiser le fichier.

Petit exemple

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

supprimer

Supprime un fichier.

Paramètres :

Petit exemple

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

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

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

getParent

Rechercher le parent DirectoryEntry qui contient le fichier.

Paramètres :

Petit exemple

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

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

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

createWriter

Créer un FileWriter objet associé au fichier représenté par laFileEntry.

Paramètres :

Petit exemple

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

fichier

Retourner un File objet qui représente l'état actuel du dossier que cette FileEntry représente.

Paramètres :

Petit exemple

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

Cet objet représente un répertoire sur un système de fichiers, tel que défini par la spécification W3C répertoires et systèmes .

Propriétés

Remarque : L'attribut suivant est défini par la spécification W3C, mais n'est pas supportée :

Méthodes

Les méthodes suivantes peuvent être appelées sur un objet DirectoryEntry :

Plates-formes prises en charge

getMetadata

Rechercher des métadonnées relatives à un répertoire.

Paramètres :

Petit exemple

function success(metadata) {console.log ("date de modification:" + metadata.modificationTime);}

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

/ / Demande l'objet de métadonnées pour cette entrée entry.getMetadata (succès, échec) ;

setMetadata

Définit les attributs étendus d'un répertoire, ou les métadonnées. Ne fonctionne actuellement que sur iOS.

Paramètres :

Petit exemple

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

Spécificités iOS

Petit exemple

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

Déplace un répertoire vers un autre emplacement sur le système de fichiers. Une erreur se produit si l'application tente de :

Déplacer un répertoire sur le dessus un répertoire vide existant tente de supprimer et de remplacer ce répertoire.

Paramètres :

Petit exemple

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

Copier un répertoire vers un autre emplacement sur le système de fichiers. Une erreur se produit si l'application tente de :

Répertoire des copies sont toujours récursifs et copiez tout le contenu du répertoire.

Paramètres :

Petit exemple

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

toURL

Retourne une URL qui peut être utilisée pour localiser le répertoire.

Petit exemple

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

supprimer

Supprime un répertoire. Une erreur se produit si l'application tente de :

Paramètres :

Petit exemple

function success(entry) {console.log ("l'enlèvement a réussi");}

function fail(error) {alert ("erreur de suppression de répertoire: ' + error.code);}

/ / supprimer ce répertoire entry.remove (succès, échec) ;

getParent

Rechercher le parent DirectoryEntry contenant le répertoire.

Paramètres :

Petit exemple

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

Crée une nouvelle DirectoryReader pour lire le contenu d'un répertoire.

Petit exemple

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

getDirectory

Crée ou lève les yeux un répertoire existant. Une erreur se produit si l'application tente de :

Paramètres :

Petit exemple

function success(dirEntry) {console.log ("nom du répertoire:" + dirEntry.name);}

function fail(error) {alert ("Impossible de créer le nouveau répertoire:" + error.code);}

/ / Récupérer un répertoire existant, ou créer si elle n'existe pas déjà entry.getDirectory (« Nouveau_répertoire », {créer : true, exclusif : false}, succès, échec) ;

getFile

Crée ou lève les yeux un fichier. Une erreur se produit si l'application tente de :

Paramètres :

Petit exemple

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

function fail(error) {alert ("Impossible de récupérer le fichier:" + error.code);}

/ / Récupérer un fichier existant, ou créer si elle n'existe pas de entry.getFile (« newFile.txt », {créer : vrai, exclusif : false}, succès, échec) ;

removeRecursively

Supprime un répertoire et tout son contenu. En cas d'erreur (par exemple en essayant de supprimer un répertoire contenant un fichier qui ne peut pas être supprimé), une partie du contenu du répertoire peuvent être supprimées. Une erreur se produit si l'application tente de :

Paramètres :

Petit exemple

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

Bizarreries de blackBerry

Peut échouer avec un ControlledAccessException dans les cas suivants :

Solution : Vérifiez les répertoires temporaires sont nettoyés manuellement, ou par l'application avant la réinstallation.

Solution : déconnecter le câble USB de l'appareil et exécutez à nouveau.


DirectoryReader

Un objet qui répertorie les fichiers et répertoires d'un répertoire, tel que défini dans la spécification W3C répertoires et systèmes .

Méthodes

Plates-formes prises en charge

readEntries

Lire les entrées dans ce répertoire.

Paramètres :

Petit exemple

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

Transfert de fichiers

Le FileTransfer objet permet de charger ou télécharger des fichiers vers et depuis un serveur.

Propriétés

Méthodes

Détails

Le FileTransfer objet fournit un moyen de télécharger des fichiers sur un serveur distant à l'aide d'une requête HTTP de la poste multi-partie. Les protocoles HTTP et HTTPS sont supportés. Paramètres optionnels peuvent être spécifiés en passant une FileUploadOptions s'opposer à la upload() méthode. Le téléchargement réussi, un FileUploadResult objet est passé au rappel succès. Si une erreur survient, un FileTransferError objet est passé au rappel erreur. Il est également possible (uniquement sur iOS et Android) pour télécharger un fichier depuis un serveur distant et l'enregistrer sur l'appareil.

Plates-formes prises en charge

Télécharger

Paramètres :

Petit exemple

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

Exemple complet

<!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>

Réglage Télécharger en-têtes

Prise en charge par Android et iOS

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

Quirks Android

Définir la chunkedMode option pour false pour prévenir les problèmes de téléchargement sur un serveur Nginx.

Télécharger

Paramètres :

Petit exemple

// !! Suppose filePath est un chemin d'accès valide sur le transfert de fichiers périphérique var = new FileTransfer() ;
var uri = encodeURI ("http://some.server.com/download.php") ;

fileTransfer.download (uri, filePath, function(entry) {console.log ("téléchargement complet:" + entry.fullPath) ;
    }, function(error) {console.log (« source de l'erreur de téléchargement » + error.source) ;
        Console.log (« erreur de téléchargement cible » + error.target) ;
        Console.log (« code d'erreur de téléchargement » + error.code) ;
    }, faux, {en-têtes: {« Autorisation »: « dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA base == "}}) ;

abandonner.

Abandonne un transfert en cours. Le rappel onerror est passé à un objet FileTransferError qui a un code d'erreur de FileTransferError.ABORT_ERR.

Plates-formes prises en charge

Petit exemple

// !! Suppose que la variable fileURI contient un URI valide dans un fichier de texte sur la victoire de var périphérique = function(r) {console.log ("ne devrait pas être appelée.");}

var fail = function(error) {/ / error.code == FileTransferError.ABORT_ERR alert ("une erreur est survenue : Code =" + error.code) ;
    Console.log (« source de l'erreur de téléchargement » + error.source) ;
    Console.log ("erreur de téléchargement cible" + error.target);}

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

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

OnProgress

Appelée avec un ProgressEvent chaque fois qu'un nouveau segment de données est transféré.

Plates-formes prises en charge

Exemple

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

Quirks - sur les deux Android un iOS, lengthComputable est false pour les téléchargements qui utilisent l'encodage gzip.


FileUploadOptions

A FileUploadOptions objet peut être passé à la FileTransfer de l'objet upload() pour spécifier des paramètres supplémentaires pour le script d'upload.

Propriétés

Description

A FileUploadOptions objet peut être passé à la FileTransfer de l'objet upload() pour spécifier des paramètres supplémentaires pour le script d'upload.

Bizarrerie de WP7


FileUploadResult

A FileUploadResult objet est passé au rappel de succès la FileTransfer de l'objet upload() méthode.

Propriétés

Description

Le FileUploadResult objet est retourné par le rappel de la réussite de la FileTransfer de l'objet upload() méthode.

iOS Quirks


Drapeaux

Fournit des arguments à la DirectoryEntry de l'objet getFile() et getDirectory() méthodes qui chercher ou créent des fichiers et des répertoires, respectivement.

Propriétés

Plates-formes prises en charge

Petit exemple

/ / Obtenir le répertoire de données, créant si elle n'existe pas.
dataDir = fileSystem.root.getDirectory (« données », {créer : true}) ;

/ / Créer le fichier de verrouillage, si et seulement s'il n'existe pas.
lockFile = dataDir.getFile (« lockfile.txt », {créer : vrai, exclusif : true}) ;

Local

Cet objet fournit un moyen d'obtenir des systèmes de fichiers racine.

Méthodes

Constantes

Détails

Les LocalFileSystem méthodes de l'objet sont définis sur le window objet.

Plates-formes prises en charge

Demande de fichier système exemple rapide

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

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

Résoudre le système de fichiers Local URI petit exemple

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

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

Exemple complet

<!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

Demander un système de fichier dans lequel stocker les données d'application.

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

Demande de fichier système exemple rapide

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

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

Métadonnées

Une interface qui fournit des informations sur l'état d'un fichier ou un répertoire.

Propriétés

Détails

Le Metadata objet représente des informations sur l'état d'un fichier ou un répertoire. Appeler un DirectoryEntry ou FileEntry de l'objet getMetadata() méthode se traduit par une Metadata instance.

Plates-formes prises en charge

Petit exemple

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

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

FileError

Un objet FileError est défini lorsqu'une erreur se produit dans l'une des méthodes de l'API File.

Propriétés

Constantes

Description

L'objet FileError est le seul paramètre fourni à l'un des callbacks d'erreur de l'API File. Pour déterminer le type d'erreur, comparer sa propriété code à l'une des propriétés listées ci-dessus.


FileTransferError

A FileTransferError objet est passé à un rappel d'erreur lorsqu'une erreur survient.

Propriétés

Constantes

Description

Le FileTransferError objet est passé au rappel erreur lorsqu'une erreur se produit lorsque le chargement ou le téléchargement d'un fichier.