I am using formdata to upload file when user drops files on page. everything works fine in client side and file details exist in Request header but when i print_r($_FILES), it returns an empty array. No Server side limit is set. i did test it by uploading a file manually.
Request Details : https://www.dropbox.com/s/tfta4ulqlxsaism/csz.PNG
js Code :
$('html').live('drop', function(e)
{
try
{
e.stopPropagation();
e.preventDefault();
var files = e.originalEvent.dataTransfer.files || e.target.file || e.dataTransfer.files;
var file;
var len = files.length;
var i =0;
var formdata = new FormData();
for ( ; i < len; i++ ) {
file = files[i];
if ( window.FileReader ) {
reader = new FileReader();
reader.onloadend = function (e) {
$('html').removeClass('hover');
};
reader.readAsDataURL(file);
}
if (formdata) {
formdata.append("files[]", file);
}
}
if (formdata)
{
$.ajax({
url: base_url+"/kh/site/file/upld",
type: "POST",
data: formdata,
processData: false,
contentType: false,
success : function(res){
console.log(res);
},
error: function(res){
console.log(res);
}
});
}
return false;
}catch(a){console.log(a.message);}
});
PHP Code :
<?php print_r($_FILES); ?>
What i am missing?
Thanks in advance!