Datei

Datei

Eine API zum Lesen, schreiben und navigieren Sie Datei-System-Hierarchien, basierend auf der w3c Datei api.

Objekte

Zugriff auf die Funktion

Ab Version 3.0 implementiert Cordova Geräteebene APIs als Plugins. Verwenden Sie der CLI plugin Befehl, beschrieben in der Command-Line Interface, hinzufügen oder Entfernen dieses Feature für ein Projekt:

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

Um die Dateiübertragung-Plugin zu verwenden, müssen Sie, die separat hinzufügen.

    $ 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

Diese Befehle gelten für alle Zielplattformen, aber die unten beschriebenen Plattform-spezifische Konfigurationseinstellungen ändern:

Einige Plattformen können dieses Feature unterstützen, ohne dass eine besondere Konfiguration. Eine Übersicht finden Sie unter Plattform-Support.


Datei

Dieses Objekt enthält Attribute einer einzelnen Datei.

Eigenschaften

Methoden

Informationen

Das File -Objekt enthält Attribute einer einzelnen Datei. Erhalten Sie eine Instanz ein File Objekt durch Aufruf einer FileEntry des Objekts file() Methode.

Unterstützte Plattformen

Scheibe

Zurück ein neues File Objekt, für die FileReader gibt nur den angegebenen Teil der Datei. Negative Werte für start oder end sind, gemessen vom Ende der Datei. Indizes sind relativ das aktuelle Segment positioniert. (Siehe das vollständige Beispiel weiter unten.)

Parameter:

Kleines Beispiel

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

Vollständiges Beispiel

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

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

Unterstützte Plattformen


FileReader

Die FileReader ermöglicht einfachen Zugriff auf eine Datei.

Eigenschaften

Hinweis: Die folgende Porperty wird nicht unterstützt:

Methoden

Informationen

Das FileReader -Objekt bietet eine Möglichkeit, Dateien aus dem Dateisystem des Geräts zu lesen. Dateien können als Text oder als eine base64-codierte Daten-Zeichenfolge gelesen werden. Ereignis-Listener empfangen die loadstart , progress , load , loadend , error , und abort Ereignisse.

Unterstützte Plattformen

readAsDataURL

Parameter:

Kleines Beispiel

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

Parameter:

Kleines Beispiel

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

Abbruch

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

Vollständiges Beispiel

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

readAsBinaryString

Derzeit unterstützt nur auf iOS und Android.

Parameter:

Kleines Beispiel

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

Derzeit unterstützt nur auf iOS und Android.

Parameter:

Kleines Beispiel

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

Als Objekt, das Sie erstellen und Daten in eine Datei schreiben kann.

Eigenschaften

Die folgende Eigenschaft wird nicht unterstützt:

Methoden

Informationen

Das FileWriter -Objekt bietet eine Möglichkeit zum Schreiben von UTF-8 kodierten Dateien in Dateisystem des Geräts. Anwendungen reagieren auf writestart , progress , write , writeend , error , und abort Ereignisse.

Jeder FileWriter entspricht einer Datei, auf die Daten können viele Male geschrieben werden. Die FileWriter behält der Datei position und length Attribute, die die app zu ermöglichen seek und write an einer beliebigen Stelle in der Datei. In der Standardeinstellung der FileWriter schreibt an den Anfang der Datei überschreiben vorhandene Daten. Legen Sie das optionale append boolesche zu true in der FileWriter der Konstruktor, bis zum Ende der Datei zu schreiben.

Text-Daten werden von allen unten aufgelisteten Plattformen unterstützt. Text wird als UTF-8 codiert, bevor Sie in das Dateisystem geschrieben werden. Einige Plattformen unterstützen auch Binärdaten, die in als ein ArrayBuffer oder ein Blob übergeben werden können.

Unterstützte Plattformen

Text- und Binär-Unterstützung:

Nur-Text Unterstützung:

Kleines Beispiel zu suchen

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

Kleines Beispiel abschneiden

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

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

entry.createWriter(win, fail);

Kleines Beispiel zu schreiben

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

Binär schreiben kurzes Beispiel

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

Kleines Beispiel anfügen

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

Kleines Beispiel Abbrechen

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

Vollständiges Beispiel

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

Dateisystem

Dieses Objekt stellt ein Dateisystem.

Eigenschaften

Informationen

Das FileSystem Objekt stellt Informationen über das Dateisystem. Der Name des Dateisystems ist eindeutig die Liste der exponierten Dateisysteme. Die Root-Eigenschaft enthält ein DirectoryEntry -Objekt, das Dateisystem Root-Verzeichnis darstellt.

Unterstützte Plattformen

Schnelle System-Beispieldatei

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

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

Vollständiges Beispiel

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

FileEntries

Eine Datei in einem Dateisystem darstellt, wie in der W3C-Verzeichnisse und Systeme -Spezifikation definiert.

Eigenschaften

Hinweis: Das folgende Attribut wird durch die W3C-Spezifikation definiert, aber wird nicht unterstützt:

Methoden

Unterstützte Plattformen

getMetadata

Suchen Sie Metadaten zu einer Datei.

Parameter:

Kleines Beispiel

Function success(metadata) {console.log ("Datum der letzten Änderung:" + metadata.modificationTime);}

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

/ / Anfrage das Metadatenobjekt für diesen Eintrag entry.getMetadata (Erfolg, Fehler);

setMetadata

Metadaten in einer Datei.

Derzeit funktioniert nur auf iOS.

Parameter:

Kleines Beispiel

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

Kleines Beispiel

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

Verschieben Sie eine Datei an einen anderen Speicherort im Dateisystem. Ein Fehler auftritt, wenn die app versucht:

Darüber hinaus versucht das Verschieben einer Datei auf eine vorhandene Datei löschen und die Datei zu ersetzen.

Parameter:

Kleines Beispiel

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

Kopieren Sie eine Datei an einen neuen Speicherort im Dateisystem. Ein Fehler auftritt, wenn die app versucht:

Parameter:

Kleines Beispiel

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

Besuch

Gibt einen URL, die verwendet werden kann, um die Datei zu suchen.

Kleines Beispiel

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

Entfernen

Löscht eine Datei.

Parameter:

Kleines Beispiel

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

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

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

getParent

Suchen Sie den übergeordneten DirectoryEntry mit der Datei.

Parameter:

Kleines Beispiel

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

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

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

createWriter

Erstellen einer FileWriter vom dargestellten Datei zugeordnete Objekt derFileEntry.

Parameter:

Kleines Beispiel

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

Datei

Zurück, ein File -Objekt, das den aktuellen Zustand der Datei darstellt, dass dies FileEntry darstellt.

Parameter:

Kleines Beispiel

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

Dieses Objekt stellt ein Verzeichnis auf einem Dateisystem, wie durch die W3C-Verzeichnisse und Systeme -Spezifikation definiert.

Eigenschaften

Hinweis: Das folgende Attribut wird durch die W3C-Spezifikation definiert, aber wird nicht unterstützt:

Methoden

Die folgenden Methoden aufgerufen werden können, auf ein DirectoryEntry Objekt:

Unterstützte Plattformen

getMetadata

Metadaten über ein Verzeichnis nachschlagen.

Parameter:

Kleines Beispiel

Function success(metadata) {console.log ("Datum der letzten Änderung:" + metadata.modificationTime);}

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

/ / Anfrage das Metadatenobjekt für diesen Eintrag entry.getMetadata (Erfolg, Fehler);

setMetadata

Legt ein Verzeichnis erweiterte Attribute oder Metadaten. Funktioniert derzeit nur auf iOS.

Parameter:

Kleines Beispiel

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

Kleines Beispiel

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

Verschieben Sie ein Verzeichnis an einen anderen Speicherort im Dateisystem. Ein Fehler auftritt, wenn die app versucht:

Verschieben eines Verzeichnisses auf einem vorhandenen leeren Verzeichnis versucht löschen und ersetzen dieses Verzeichnis.

Parameter:

Kleines Beispiel

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

Kopieren Sie ein Verzeichnis an einen anderen Speicherort im Dateisystem. Ein Fehler auftritt, wenn die app versucht:

Verzeichnis-Kopien sind immer rekursive, und kopieren Sie alle Inhalte des Verzeichnisses.

Parameter:

Kleines Beispiel

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

Besuch

Gibt einen URL, die verwendet werden kann, um das Verzeichnis zu suchen.

Kleines Beispiel

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

Entfernen

Löscht ein Verzeichnis. Ein Fehler auftritt, wenn die app versucht:

Parameter:

Kleines Beispiel

Function success(entry) {console.log ("Entfernung erfolgreich");}

Funktion fail(error) {Alert (' Fehler beim Entfernen der Verzeichnis: ' + error.code);}

/ / Entfernen dieses Verzeichnis entry.remove (Erfolg, Fehler);

getParent

Suchen Sie den übergeordneten DirectoryEntry mit dem Verzeichnis.

Parameter:

Kleines Beispiel

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

Erstellt eine neue DirectoryReader um Einträge in einem Verzeichnis zu lesen.

Kleines Beispiel

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

getDirectory

Erstellt oder ein vorhandenes Verzeichnis sucht. Ein Fehler auftritt, wenn die app versucht:

Parameter:

Kleines Beispiel

Function success(dirEntry) {console.log ("Directory Name:" + dirEntry.name);}

Function fail(error) {Alert ("neues Verzeichnis erstellt:" + error.code);}

/ / Ein vorhandenes Verzeichnis abrufen oder erstellen Sie ihn, wenn es nicht bereits, entry.getDirectory vorhanden ist ("NewDir", {erstellen: echte, exklusive: False}, Erfolg, Fehler);

getFile

Erstellt oder eine Datei sucht. Ein Fehler auftritt, wenn die app versucht:

Parameter:

Kleines Beispiel

Function success(fileEntry) {console.log ("Dateiname:" + fileEntry.name);}

Function fail(error) {Alert ("Fehler beim Abrufen der Datei:" + error.code);}

/ / Abrufen eine vorhandene Datei, oder erstellen Sie ihn, wenn er nicht, entry.getFile vorhanden ist ("newFile.txt", {erstellen: echte, exklusive: False}, Erfolg, Fehler);

removeRecursively

Löscht ein Verzeichnis und seinen Inhalt. Im Falle eines Fehlers (z. B. versuchen, Löschen eines Verzeichnisses mit einer Datei, die nicht entfernt werden), können einige der den Inhalt des Verzeichnisses gelöscht werden. Ein Fehler auftritt, wenn die app versucht:

Parameter:

Kleines Beispiel

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

BlackBerry Macken

Möglicherweise nicht mit einem ControlledAccessException in den folgenden Fällen:

Lösung: Stellen Sie sicher, dass temporäre Verzeichnisse manuell oder durch die Anwendung vor der Neuinstallation gereinigt werden.

Lösung: Trennen Sie das USB-Kabel vom Gerät und erneut ausführen.


DirectoryReader

Ein Objekt, das Dateien und Verzeichnisse in einem Verzeichnis listet in der W3C-Verzeichnisse und Systeme -Spezifikation definiert.

Methoden

Unterstützte Plattformen

readEntries

Lesen Sie die Einträge in diesem Verzeichnis.

Parameter:

Kleines Beispiel

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

FileTransfer

Das FileTransfer -Objekt können Sie hoch-oder Herunterladen von Dateien zu und von einem Server.

Eigenschaften

Methoden

Informationen

Das FileTransfer Objekt bietet eine Möglichkeit zum Hochladen von Dateien auf einem remote-Server mithilfe einer mehrteiligen HTTP-POST-Anforderung. HTTP- und HTTPS-Protokolle werden unterstützt. Optionale Parameter können angegeben werden, indem Sie übergeben ein FileUploadOptions gegen die upload() Methode. Auf erfolgreichen Upload ein FileUploadResult -Objekt wird an den Erfolg-Rückruf übergeben. Wenn ein Fehler auftritt, ein FileTransferError -Objekt wird an den Fehler-Rückruf übergeben. Es ist auch möglich (nur auf iOS und Android), eine Datei von einem remote-Server herunterladen und speichern Sie es auf dem Gerät.

Unterstützte Plattformen

Upload

Parameter:

Kleines Beispiel

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

Vollständiges Beispiel

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

Einstellung-Upload-Header

Auf Android und iOS unterstützt

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

Android Macken

Legen Sie die chunkedMode -option, um false Probleme beim Hochladen auf einen Nginx-Server zu verhindern.

Download

Parameter:

Kleines Beispiel

// !! Übernimmt FilePath ist ein gültiger Pfad auf den Gerät-Var-FileTransfer = neue FileTransfer();
Var Uri = EncodeURI ("http://some.server.com/download.php");

fileTransfer.download (Uri, FilePath, function(entry) {console.log ("Download abgeschlossen:" + entry.fullPath);
    }, function(error) {console.log ("Download Fehlerquelle" + error.source);
        Console.log ("Download-Fehler-Ziel" + error.target);
        Console.log ("Upload Error Code" + error.code);
    }, falsche, {Header: {"Autorisierung": "grundlegende dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA =="}});

Abbruch

Bricht einen in-Progress-Transfer. Der Onerror-Rückruf wird ein FileTransferError-Objekt übergeben, die einen Fehlercode FileTransferError.ABORT_ERR hat.

Unterstützte Plattformen

Kleines Beispiel

// !! Wird davon ausgegangen, Variable FileURI enthält einen gültigen URI in eine Textdatei auf dem Gerät Var gewinnen = function(r) {console.log ("sollte nicht aufgerufen werden.");}

Var Fehler = function(error) {/ / error.code == FileTransferError.ABORT_ERR Alert ("Fehler: Code =" + error.code);
    Console.log ("Upload-Fehlerquelle" + error.source);
    Console.log ("Upload-Fehler-Ziel" + error.target);}

Var Optionen = neue FileUploadOptions();
options.fileKey="file";
options.fileName="myphoto.jpg";
options.mimeType="image/jpeg";

Var ft = neue FileTransfer();
ft.Upload (FileURI, EncodeURI ("http://some.server.com/upload.php"), Win, Fail, Optionen);
ft.Abort();

OnProgress

Mit einer ProgressEvent aufgerufen, wenn eine neue Datenmenge übertragen wird.

Unterstützte Plattformen

Beispiel

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

Quirks - auf beide Android ein iOS, LengthComputable ist false für Downloads, die Gzip-Codierung verwenden.


FileUploadOptions

A FileUploadOptions Objekt übergeben werden kann, um die FileTransfer des Objekts upload() Methode, um zusätzliche Parameter an den Upload-Skript angeben.

Eigenschaften

Beschreibung

A FileUploadOptions Objekt übergeben werden kann, um die FileTransfer des Objekts upload() Methode, um zusätzliche Parameter an den Upload-Skript angeben.

WP7 Quirk


FileUploadResult

A FileUploadResult -Objekt wird an den Erfolg-Rückruf des übergeben die FileTransfer des Objekts upload() Methode.

Eigenschaften

Beschreibung

Das FileUploadResult -Objekt wird über den Erfolg-Rückruf des zurückgegeben die FileTransfer des Objekts upload() Methode.

iOS Macken


Flags

Liefert Argumente für die DirectoryEntry des Objekts getFile() und getDirectory() Methoden, die nachschlagen oder erstellen Sie Dateien und Verzeichnisse.

Eigenschaften

Unterstützte Plattformen

Kleines Beispiel

/ / Get das Datenverzeichnis, die ihn herstellen, wenn es nicht vorhanden ist.
DataDir = fileSystem.root.getDirectory ("Daten", {erstellen: True});

/ / Die Lock-Datei zu erstellen, wenn es nicht vorhanden ist.
LockFile = dataDir.getFile ("lockfile.txt", {erstellen: echte, exklusive: True});

LocalFileSystem

Dieses Objekt bietet eine Möglichkeit, Root-Dateisysteme zu erhalten.

Methoden

Konstanten

Informationen

Die LocalFileSystem sind Objektmethoden definiert, auf das window Objekt.

Unterstützte Plattformen

Schnelle System-Beispieldatei anfordern

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

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

Lokale Datei System URI kurzes Beispiel zu lösen

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

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

Vollständiges Beispiel

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

Fordern Sie ein Dateisystem zum Speichern von Anwendungsdaten.

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

Schnelle System-Beispieldatei anfordern

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

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

Metadaten

Eine Schnittstelle, die Informationen über den Status einer Datei oder eines Verzeichnisses angibt.

Eigenschaften

Informationen

Das Metadata -Objekt stellt Informationen über den Status einer Datei oder eines Verzeichnisses dar. Aufruf einer DirectoryEntry oder FileEntry des Objekts getMetadata() Methode führt eine Metadata Instanz.

Unterstützte Plattformen

Kleines Beispiel

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

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

FileError

A FileError -Objekt festgelegt ist, tritt ein Fehler in der Datei API-Methoden.

Eigenschaften

Konstanten

Beschreibung

Das FileError -Objekt ist der einzige Parameter, die die Datei-API-Fehler-Rückrufe. Um den Typ des Fehlers festzustellen, vergleichen die code -Eigenschaft auf eines der oben genannten Angebote.


FileTransferError

A FileTransferError Objekt wird an eine Fehler-Callback übergeben, wenn ein Fehler auftritt.

Eigenschaften

Konstanten

Beschreibung

Das FileTransferError -Objekt wird an den Rückruf Fehler übergeben, tritt ein Fehler beim Up- oder Download einer Datei.