I'm working on cordova project that uploads photos to server. While testing this for android, success callback is called but file not uploaded to server. Destination folder in server is present with necessary permission.
Following is the Javascript section
var options = new FileUploadOptions();
options.fileKey = "myphoto";
options.fileName = filetoupload.substr(filetoupload.lastIndexOf('/')+1);
options.mimeType = "image/jpeg";
options.chunkedMode = false;
options.headers = {
Connection: "close"
};
var ft = new FileTransfer();
ft.upload(filetoupload, encodeURI(websrvs_base_url), win, fail, options);
In server PHP code is
<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, PUT, OPTIONS");
header("content-type: application/json; charset=utf-8");
if($_FILES['myphoto']['size'] > 0) {
$path = $ROOT_PATH . "mypics/";
$tmpname1 = $_FILES['myphoto']['tmp_name'];
$ptname1 = $_FILES['myphoto']['name'];
move_uploaded_file($tmpname1, $path . $ptname11);
echo 'success';
}
On checking $_FILES['myphoto']['error']
returns 7
Server has following setting regarding file upload
file_uploads - On
memory_limit - 128M
post_max_size - 64M
upload_max_filesize - 100M
Should I added any additional headers in PHP script to receive the file from app?