Файл

Файл

Интерфейс API, чтобы читать, писать и навигации по иерархиям файловой системы, основанные на w3c файла api.

Объекты

Доступ к функции

Начиная с версии 3.0 Кордова реализует интерфейсы API уровень устройства как плагины. Использование CLI plugin команды, описанные в интерфейс командной строки, чтобы добавить или удалить эту функцию для проекта:

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

Чтобы использовать плагин передачи файлов необходимо добавить что отдельно.

    $ 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

Эти команды применяются для всех целевых платформ, но изменить параметры конфигурации платформы, описанные ниже:

Некоторые платформы могут поддерживать эту функцию без необходимости специальной настройки. Смотрите поддержку платформы обзор.


Файл

Этот объект содержит атрибуты в одном файле.

Свойства

Методы

Подробная информация

FileОбъект содержит атрибуты в одном файле. Вы можете получить экземпляр File объект путем вызова FileEntry объекта file() метод.

Поддерживаемые платформы

срез

Возвращают новую File объект, для которого FileReader возвращает только указанную часть файла. Отрицательные значения для start или end измеряются от конца файла. Индексы располагаются относительно текущего фрагмента. (См. ниже полный пример.)

Параметры:

Быстрый пример

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

Полный пример

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

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

Поддерживаемые платформы


FileReader

FileReaderПозволяет базовый доступ к файлу.

Свойства

Примечание: Следующие недвижимость не поддерживается:

Методы

Подробная информация

FileReaderОбъект предлагает способ для чтения файлов из файловой системы устройства. Файлы можно читать как текст или как строку данных в кодировке base64. Прослушиватели событий получают loadstart , progress , load , loadend , error , и abort события.

Поддерживаемые платформы

readAsDataURL

Параметры:

Быстрый пример

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

Параметры:

Быстрый пример

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

прервать

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

Полный пример

<!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 причуды

readAsBinaryString

В настоящее время поддерживается только на iOS и Android.

Параметры:

Быстрый пример

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

В настоящее время поддерживается только на iOS и Android.

Параметры:

Быстрый пример

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Объект предлагает способ для записи файлов в кодировке UTF-8 на файловую систему устройства. Приложения отвечают на writestart , progress , write , writeend , error , и abort события.

Каждый FileWriter соответствует один файл, на который данные могут быть записаны во много раз. FileWriterПоддерживает этот файл position и length атрибуты, которые позволяют приложению seek и write где-нибудь в файле. По умолчанию FileWriter пишет в начале файла, перезаписи существующих данных. Задать необязательный append логическое для true в FileWriter в конструктор для записи в конце файла.

Текстовые данные поддерживается на всех платформах, перечисленных ниже. Текст кодируется как UTF-8 перед записью в файловой системе. Некоторые платформы поддерживают также двоичные данные, которые могут быть переданы в качестве ArrayBuffer или Blob.

Поддерживаемые платформы

Текст и двоичные поддержки:

Текстовая поддержка:

Искать быстрый пример

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

Усечение быстрый пример

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

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

entry.createWriter(win, fail);

Написать краткий пример

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

Двоичные записи быстрый пример

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

Добавить быстрый пример

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

Прервать быстрый пример

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

Полный пример

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

Файловая система

Этот объект представляет файловую систему.

Свойства

Подробная информация

FileSystemОбъект представляет сведения о файловой системе. Имя файловой системы является уникальным через список открытых файловых систем. Свойство root содержит DirectoryEntry объект, представляющий корневой каталог в файловой системе.

Поддерживаемые платформы

Быстрый пример файловой системы

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

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

Полный пример

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

Представляет файл в файловой системе, как определено в спецификации W3C каталогов и систем .

Свойства

Примечание: Следующий атрибут определен в спецификации W3C, но не поддерживается:

Методы

Поддерживаемые платформы

getMetadata

Искать метаданные о файле.

Параметры:

Быстрый пример

Функция success(metadata) {console.log («последнего изменения: «+ metadata.modificationTime);}

Функция fail(error) {alert(error.code)};

/ / Запрос объекта метаданных для этой записи entry.getMetadata (успех, неудача);

setMetadata

Метаданные набора на файл.

В настоящее время работает только на iOS.

Параметры:

Быстрый пример

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 галтель

Быстрый пример

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

Перемещение файла в другую папку в файловой системе. Если приложение пытается приводит к ошибке:

Кроме того перемещение файла поверх существующего файла пытается удалить и заменить этот файл.

Параметры:

Быстрый пример

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

Копирование файла в новое расположение в файловой системе. Если приложение пытается приводит к ошибке:

Параметры:

Быстрый пример

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

Возвращает URL-адрес, который может использоваться для поиска файла.

Быстрый пример

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

удалить

Удаляет файл.

Параметры:

Быстрый пример

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

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

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

getParent

Посмотрите вверх родительского DirectoryEntry файл.

Параметры:

Быстрый пример

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

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

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

createWriter

Создание FileWriter объект, связанный с файла, представленногоFileEntry.

Параметры:

Быстрый пример

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

файл

Возвращение File объект, представляющий текущее состояние файла что это FileEntry представляет.

Параметры:

Быстрый пример

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

Этот объект представляет каталог в файловой системе, как определено в спецификации W3C каталогов и систем .

Свойства

Примечание: Следующий атрибут определен в спецификации W3C, но не поддерживается:

Методы

Следующие методы могут быть вызваны на DirectoryEntry объект:

Поддерживаемые платформы

getMetadata

Поиск метаданных каталога.

Параметры:

Быстрый пример

Функция success(metadata) {console.log («последнего изменения: «+ metadata.modificationTime);}

Функция fail(error) {alert(error.code)};

/ / Запрос объекта метаданных для этой записи entry.getMetadata (успех, неудача);

setMetadata

Устанавливает дополнительные атрибуты каталога или метаданные. В настоящее время работает только на iOS.

Параметры:

Быстрый пример

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 галтель

Быстрый пример

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

Переместите каталог в другое место в файловой системе. Если приложение пытается приводит к ошибке:

Перемещение каталога поверх существующих пустой каталог пытается удалить и заменить этот каталог.

Параметры:

Быстрый пример

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

Копирования каталога в другое место в файловой системе. Если приложение пытается приводит к ошибке:

Каталог копии всегда являются рекурсивными и скопируйте все содержимое каталога.

Параметры:

Быстрый пример

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

Возвращает URL-адрес, который может использоваться для поиска в каталоге.

Быстрый пример

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

удалить

Удаляет каталог. Если приложение пытается приводит к ошибке:

Параметры:

Быстрый пример

Функция success(entry) {console.log («удаление успешно");}

Функция fail(error) {alert (' ошибка при удалении каталога: ' + error.code);}

/ / удалить этот каталог entry.remove (успех, неудача);

getParent

Посмотрите вверх родительского DirectoryEntry содержащий каталог.

Параметры:

Быстрый пример

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

Создает новый DirectoryReader для чтения записей в каталоге.

Быстрый пример

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

getDirectory

Создает или ищет существующий каталог. Если приложение пытается приводит к ошибке:

Параметры:

Быстрый пример

Функция success(dirEntry) {console.log («имя каталога:» + dirEntry.name);}

Функция fail(error) {alert ("не удается создать новый каталог: «+ error.code);}

/ / Получить существующий каталог, или создайте его, если он еще не существует entry.getDirectory («newDir» {создать: true, эксклюзивные: false}, успех, неудача);

getFile

Создает или ищет файл. Если приложение пытается приводит к ошибке:

Параметры:

Быстрый пример

Функция success(fileEntry) {console.log ("имя файла:» + fileEntry.name);}

Функция fail(error) {alert ("удалось получить файл:» + error.code);}

/ / Получить существующий файл, или создайте его, если он не существует entry.getFile («newFile.txt», {создать: Правда, эксклюзивные: false}, успех, неудача);

removeRecursively

Удаляет каталог и все его содержимое. В случае ошибки (например, попытке удалить каталог, содержащий файл, который не может быть удален) некоторые из содержимого каталога могут быть удалены. Если приложение пытается приводит к ошибке:

Параметры:

Быстрый пример

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

Причуды ежевики

Может завершиться с ControlledAccessException в следующих случаях:

Решение: Убедитесь, что временные папки убираются вручную, или приложением до переустановки.

Решение: отключите USB-кабель от устройства и запустите снова.


DirectoryReader

Объект, который содержит список файлов и каталогов в каталоге, как определено в спецификации W3C каталогов и систем .

Методы

Поддерживаемые платформы

readEntries

Чтение записей в этом каталоге.

Параметры:

Быстрый пример

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

FileTransferОбъект позволяет загружать файлы на сервер и обратно.

Свойства

Методы

Подробная информация

FileTransferОбъект предоставляет способ для загрузки файлов на удаленный сервер с помощью нескольких частей запроса POST HTTP. Поддерживаются протоколы HTTP и HTTPS. Необязательные параметры можно указать путем передачи FileUploadOptions объектов для upload() метода. При успешной отправке FileUploadResult объект передается в метод обратного вызова успех. Если возникает ошибка, FileTransferError объект передается в метод обратного вызова ошибки. Это также возможно (только на iOS и Android), чтобы загрузить файл с удаленного сервера и сохранить его на устройстве.

Поддерживаемые платформы

загрузить

Параметры:

Быстрый пример

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

Полный пример

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

Параметр Загружать заголовки

Поддерживается на Android и 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);

Андроид причуды

Установите chunkedMode вариант для false чтобы предотвратить проблемы с загрузкой на сервер Nginx.

Скачать

Параметры:

Быстрый пример

// !! Предполагается filePath представляет собой допустимый путь на устройство var fileTransfer = новый FileTransfer();
var uri = encodeURI («http://some.server.com/download.php»);

fileTransfer.download (uri, filePath, function(entry) {console.log («скачать полный:» + entry.fullPath);
    }, function(error) {console.log («источник ошибки загрузки» + error.source);
        Console.log («скачать Ошибка цель» + error.target);
        Console.log («код ошибки загрузки» + error.code);
    }, значение false, {заголовки: {«Авторизация»: «основные dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA == "}});

прервать

Прерывает передачу в прогресс. Onerror обратного вызова передается объект FileTransferError, который имеет код ошибки FileTransferError.ABORT_ERR.

Поддерживаемые платформы

Быстрый пример

// !! Предполагается переменная fileURI содержит допустимый URI в текстовый файл на устройство победить var = function(r) {console.log («не должен вызываться.");}

Сбой var = function(error) {/ / error.code == FileTransferError.ABORT_ERR оповещения («произошла ошибка: код =» + error.code);
    Console.log («источник ошибки загрузки» + error.source);
    Console.log («загрузить ошибка цель» + error.target);}

Параметры var = новый FileUploadOptions();
options.fileKey="file»;
options.fileName="myphoto.jpg»;
options.mimeType="image/jpeg»;

var ft = новый FileTransfer();
ft.upload (fileURI, encodeURI («http://some.server.com/upload.php»), победа, fail, варианты);
ft.Abort();

OnProgress

Вызывается с ProgressEvent всякий раз, когда новый фрагмент данных передается.

Поддерживаемые платформы

Пример

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

Причуды - на обоих Android и iOS, lengthComputable является false для загрузки, которые используют кодировку gzip.


FileUploadOptions

A FileUploadOptions объект может быть передан FileTransfer объекта upload() метод, чтобы задать дополнительные параметры для загрузки сценария.

Свойства

Описание

A FileUploadOptions объект может быть передан FileTransfer объекта upload() метод, чтобы задать дополнительные параметры для загрузки сценария.

WP7 галтель


FileUploadResult

Объект FileUploadResult передается на успех обратного вызова метода upload() объекта FileTransfer.

Параметры

Описание

FileUploadResultОбъект возвращается через успех обратного вызова FileTransfer объекта upload() метод.

iOS причуды


Флаги

Аргументы для DirectoryEntry объекта getFile() и getDirectory() методы, которые смотрят или создавать файлы и каталоги, соответственно.

Свойства

Поддерживаемые платформы

Быстрый пример

/ / Получить каталог данных, создавая его, если он не существует.
dataDir = fileSystem.root.getDirectory («данные», {создать: true});

/ / Создать файл блокировки только в том случае, если он не существует.
lockFile = dataDir.getFile («lockfile.txt» {создать: Правда, эксклюзивные: true});

LocalFileSystem

Этот объект обеспечивает способ получения корневых файловых систем.

Методы

Константы

Подробная информация

LocalFileSystemМетоды объекта определяются на window объект.

Поддерживаемые платформы

Запрос файловой системы быстрый пример

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

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

Разрешить быстрый пример локальной файловой системы URI

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

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

Полный пример

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

Запросить файловую систему для хранения данных приложения.

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

Запрос файловой системы быстрый пример

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

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

Метаданные

Интерфейс, который предоставляет сведения о состоянии файла или каталога.

Свойства

Подробная информация

MetadataОбъект представляет сведения о состоянии файла или каталога. Вызов DirectoryEntry или FileEntry объекта getMetadata() метода Metadata экземпляра.

Поддерживаемые платформы

Быстрый пример

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

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

FileError

A FileError объект устанавливается при возникновении ошибки в любом из файлов API методов.

Свойства

Константы

Описание

FileErrorОбъект является единственным параметром, для любой из обратных вызовов API файлов ошибок. Чтобы определить тип ошибки, сравните его code свойства любой из выше предложения.


FileTransferError

A FileTransferError объект передается при ошибке обратного вызова при возникновении ошибки.

Свойства

Константы

Описание

FileTransferErrorОшибка обратного вызова передается объект, когда происходит ошибка при загрузке или Загрузка файла.