Получение окончания загрузки файла Cordova

Я работаю над загрузкой файла на сервер, используя плагин Cordova-File-Transfer. Я знаю, что загрузка моего файла работает при использовании браузера для выбора файла, но я не совсем уверен с приложением, поскольку это относительно новый способ сделать это для меня без отправки формы.

РЕДАКТИРОВАТЬ: приведенный ниже код был изменен, и это то, что мне удалось после того, как я следовал совету @ kay27. Решение состояло в том, чтобы использовать параметры для POST-данных в обработчик ожидающей загрузки.

function uploadFile() {

function success(r) {
console.log("Code = " + r.responseCode);
console.log("Response  = " + r.response);
console.log("Sent = " + r.bytesSent);
}

function fail(error) {
console.log("An error has occurred: Code = " + error.code);
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}

/* Destination of file */
var url = encodeURI("http://someURL/yourPHPUploadFile.php");
var fileURI = "file:///storage/emulated/0/Android/data/com.yourPackageName/fileToUpload";

var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = fileURI.substr(fileURI.lastIndexOf('/') + 1);
options.mimeType = "text/csv";

var params = new Object();
//allows you to POST the data to server side script
params.fileName = options.fileName;
options.params = params;

var ft = new FileTransfer();
ft.upload(fileURI, url, success, fail, options);
}

Отредактированная форма PHP

<?php
header('Access-Control-Allow-Origin: *');

$location       = "uploads/";
$uploadfile     = $_POST['fileName'];
$uploadfilename = $_FILES['file']['tmp_name'];

if (move_uploaded_file($uploadfilename, $location . '/' . $uploadfile)) {
echo 'File successfully uploaded!';
} else {
echo 'Upload error!';
}
?>

0

Решение

Для моего конкретного вопроса, новый способ определения параметров сработал. Решение можно увидеть здесь Ответ Саймона Макдональда. Я отредактировал код выше с окончательным решением, которое позволило мне загрузить.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]