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?