So I have a web app running in a webview on a mobile, and I'm trying to upload a picture from the smartphone to my server, using FileTransfer() just like this:
var imageURI = 'file:///path/to/picture.jpg';
var params = { foo: 'bar' };
var options = new FileUploadOptions();
options.fileKey = 'file';
options.fileName = imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType = 'text/plain';
options.headers = { Connection: 'close' };
options.chunkedMode = false;
options.params = params;
var ft = new FileTransfer();
ft.upload(imageURI, encodeURI('http://example.com/uploads/upload.php'), win, fail, options);
This code works like a charm if I target upload.php on a Plesk server, the picture is sent in $_FILES array, and $_POST['foo'] = 'bar'.
I've put the exacte same upload.php file on a Debian server a friend of mine installed, and when I'm targeting it, both $_POST and $_FILES are empty arrays! Everything else works fine, no PHP or server errors, just empty arrays.
As suggested in other topics I checked post_max_size, upload_max_filesize and max_input_time that are way above what's needed, and I even added header('Access-Control-Allow-Origin: *'); at the begining of upload.php.
Any idea?