Этот плагин позволяет вам загружать и скачивать файлы.
cordova plugin add cordova-plugin-file-transfer
Amazon Fire OS
Android
BlackBerry 10
Firefox OS **
iOS
Windows Phone 7 и 8 *
Windows 8 ***|
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()
методы.