2016-04-18 3 views
0

Я работаю над загрузкой файла на сервер с помощью плагина cordova-file-transfer. Я знаю, что мой файл Upload работает при использовании браузера, чтобы выбрать файл, но я не совсем уверен в этом приложении, так как это относительно новый способ сделать это для меня без представления форм.Получение конечного файла загрузки Кордовы

EDIT: приведенный ниже код изменен и является тем, что было успешным для меня в то время, после того, как я посоветовал @ kay27. Решение состояло в том, чтобы использовать params для 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

Посмотрите на этот способ определения параметров: http://stackoverflow.com/a/10851122/5920627 – kay27

+0

@ kay27 благодаря миллиону, новый метод определения параметров сделал трюк. Протестировал его там, и файл загружается! – morrisstu

ответ

0

Для моего конкретного вопроса, новый способ определения Params работал. Решение можно увидеть здесь по адресу Simon MacDonald's answer. Я редактировал код выше с окончательным решением, которое позволило мне загрузить.

Смежные вопросы