Этот плагин позволяет вам загружать и скачивать файлы.
cordova plugin add cordova-plugin-file-transfer
Windows ***|
*Не поддерживают onprogress
, ни abort()
*
** *Не поддерживает onprogress
*
Частичная поддержка onprogress
для закачки метод. onprogress
вызывается с пустой ход событий благодаря Windows limitations_
FileTransfer
Объект предоставляет способ для загрузки файлов с помощью нескольких частей запроса POST HTTP и для загрузки файлов, а также.
ProgressEvent
всякий раз, когда новый фрагмент данных передается. (Функция)добавлено: отправляет файл на сервер.
скачать: Скачать файл с сервера.
прервать: прерывает передачу в прогресс.
Параметры:
fileURL: файловой системы URL-адрес, представляющий файл на устройстве. Для обратной совместимости, это также может быть полный путь к файлу на устройстве. (См. [обратной совместимости отмечает] ниже)
сервер: URL-адрес сервера, чтобы получить файл, как закодированныеencodeURI()
.
successCallback: обратного вызова, передаваемого Metadata
объект. (Функция)
errorCallback: обратного вызова, который выполняется в случае получения ошибки Metadata
. Вызываемый с FileTransferError
объект. (Функция)
опции: необязательные параметры (объект). Допустимые ключи:
file
. (DOMString)image.jpg
. (DOMString)image/jpeg
. (DOMString)true
. (Логическое значение)trustAllHosts: необязательный параметр, по умолчанию false
. Если значение true
, она принимает все сертификаты безопасности. Это полезно, поскольку Android отвергает самозаверяющие сертификаты. Не рекомендуется для использования в производстве. Поддерживается на Android и iOS. (логическое значение)
// !! Assumes variable fileURL contains a valid URL to a text file on the device,
// for example, cdvfile://localhost/persistent/path/to/file.txt
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 = fileURL.substr(fileURL.lastIndexOf('/') + 1);
options.mimeType = "text/plain";
var params = {};
params.value1 = "test";
params.value2 = "param";
options.params = params;
var ft = new FileTransfer();
ft.upload(fileURL, 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);
}
var uri = encodeURI("http://some.server.com/upload.php");
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=fileURL.substr(fileURL.lastIndexOf('/')+1);
options.mimeType="text/plain";
var headers={'headerParam':'headerValue'};
options.headers = headers;
var ft = new FileTransfer();
ft.onprogress = function(progressEvent) {
if (progressEvent.lengthComputable) {
loadingStatus.setPercentage(progressEvent.loaded / progressEvent.total);
} else {
loadingStatus.increment();
}
};
ft.upload(fileURL, uri, win, fail, options);
Объект FileUploadResult
передается на успех обратного вызова метода upload()
объекта FileTransfer
.
bytesSent: количество байт, отправленных на сервер как часть загрузки. (длинная)
responseCode: код ответа HTTP, возвращаемых сервером. (длинная)
ответ: ответ HTTP, возвращаемых сервером. (DOMString)
заголовки: заголовки ответов HTTP-сервером. (Объект)
responseCode
илиbytesSent
.Параметры:
источник: URL-адрес сервера для загрузки файла, как закодированныеencodeURI()
.
Цель: файловой системы URL-адрес, представляющий файл на устройстве. Для обратной совместимости, это также может быть полный путь к файлу на устройстве. (См. [обратной совместимости отмечает] ниже)
successCallback: обратного вызова, передаваемого FileEntry
объект. (Функция)
errorCallback: обратного вызова, который выполняется, если возникает ошибка при получении Metadata
. Вызываемый с FileTransferError
объект. (Функция)
trustAllHosts: необязательный параметр, по умолчанию false
. Если значение true
, она принимает все сертификаты безопасности. Это полезно, потому что Android отвергает самозаверяющие сертификаты. Не рекомендуется для использования в производстве. Поддерживается на Android и iOS. (логическое значение)
опции: необязательные параметры, в настоящее время только поддерживает заголовки (например авторизации (базовая аутентификация) и т.д.).
// !! Assumes variable fileURL contains a valid URL to a path on the device,
// for example, cdvfile://localhost/persistent/path/to/downloads/
var fileTransfer = new FileTransfer();
var uri = encodeURI("http://some.server.com/download.php");
fileTransfer.download(
uri,
fileURL,
function(entry) {
console.log("download complete: " + entry.toURL());
},
function(error) {
console.log("download error source " + error.source);
console.log("download error target " + error.target);
console.log("upload error code" + error.code);
},
false,
{
headers: {
"Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=="
}
}
);
Прерывает передачу в прогресс. Onerror обратного вызова передается объект FileTransferError, который имеет код ошибки FileTransferError.ABORT_ERR.
// !! Assumes variable fileURL contains a valid URL to a text file on the device,
// for example, cdvfile://localhost/persistent/path/to/file.txt
var win = function(r) {
console.log("Should not be called.");
}
var fail = function(error) {
// error.code == FileTransferError.ABORT_ERR
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="myphoto.jpg";
options.mimeType="image/jpeg";
var ft = new FileTransfer();
ft.upload(fileURL, encodeURI("http://some.server.com/upload.php"), win, fail, options);
ft.abort();
A FileTransferError
при ошибке обратного вызова передается объект, при возникновении ошибки.
код: один из кодов стандартных ошибок, перечисленные ниже. (Число)
источник: URL-адрес источника. (Строка)
Цель: URL-адрес к целевому объекту. (Строка)
http_status: код состояния HTTP. Этот атрибут доступен только при код ответа от HTTP-соединения. (Число)
исключение: либо e.getMessage или e.toString (строка)
FileTransferError.FILE_NOT_FOUND_ERR
FileTransferError.INVALID_URL_ERR
FileTransferError.CONNECTION_ERR
FileTransferError.ABORT_ERR
FileTransferError.NOT_MODIFIED_ERR
Предыдущие версии этого плагина будет принимать только устройства Абсолют файлам как источник для закачки, или как целевых для загрузок. Обычно эти пути бы формы
/var/mobile/Applications/<application UUID>/Documents/path/to/file (iOS)
/storage/emulated/0/path/to/file (Android)
Для обратной совместимости, по-прежнему принимаются эти пути, и если ваше приложение зарегистрировано пути как в постоянное хранилище, то они могут продолжать использоваться.
Эти пути ранее были видны в fullPath
свойства FileEntry
и DirectoryEntry
объекты, возвращаемые файл плагина. Новые версии файла плагина, однако, не подвергать эти пути в JavaScript.
Если вы переходите на новый (1.0.0 или новее) версию файла и вы ранее использовали entry.fullPath
в качестве аргументов download()
или upload()
, то вам необходимо будет изменить код для использования файловой системы URL вместо.
FileEntry.toURL()
и DirectoryEntry.toURL()
возвращает URL-адрес формы файловой системы
cdvfile://localhost/persistent/path/to/file
которые могут быть использованы вместо абсолютного пути в обоих download()
и upload()
методы.