I have a strange issue with fine uploader (3.0) it works on each and every browser except for ie9.
There is no js error, it just uploads a 0byte fails. I'm using the valums php and it fails here:
$realSize = stream_copy_to_stream($input, $temp);
fclose($input);
//This results in an error in ie9
if ($realSize != $this->getSize()){
return false;
}
if I comment the return it creates a 0 bytes file, it looks like ie9 is not sending any data. Do anyone of you have any idea of what could be the issue?
Thank you very much.
EDIT:
As required client code:
if($('#fine-uploader_main').length > 0){
var method = $('#fine-uploader_main_method').val();
var fileCount = 0;
$('#fine-uploader_main').fineUploader({
request: {
endpoint: base_url+"ajax/"+method,//base_url+'ajax/upload_afile/can_id/'+$('#fine-uploader-can_id').val(),
},
text: {
uploadButton: '<i class="icon-upload icon-white"></i> Upload'
},
template: '<div class="qq-uploader span12">' +
'<pre class="qq-upload-drop-area span12"><span>{dragZoneText}</span></pre>' +
'<div class="qq-upload-button btn btn-success" style="width: auto;">{uploadButtonText}</div>' +
'<span class="qq-drop-processing"><span>{dropProcessingText}</span><span class="qq-drop-processing-spinner"></span></span>' +
'<ul class="qq-upload-list" style="margin-top: 10px; text-align: center;"></ul>' +
'</div>',
classes: {
success: 'alert alert-success',
fail: 'alert alert-error'
}
}).on('complete', function(event, id, fileName,response) {
if(response.success==true){
$.ajax({
type: "POST", url: base_url+"ajax/"+method+"_return",data:"filename="+response.filename,
success: function(html){
$("#uploader_container").hide();
$("#uploader_success").html(html).show();
$("#fileupload-check").removeClass('required');
}
});
} else {
//console.log(response);
}
});
}
It's likely that you are simply not handling Multipart Encoded requests, which are sent only by IE9 and earlier by default in 3.0. Your server-side code must properly handle these requests to support IE9 and earlier, along with Android 2.3.x.