我有一个奇怪的问题,上传器(3.0)它适用于除ie9之外的每个浏览器。
没有js错误,它只是上传一个0byte失败。 我正在使用valums php,它在这里失败了:
$realSize = stream_copy_to_stream($input, $temp);
fclose($input);
//This results in an error in ie9
if ($realSize != $this->getSize()){
return false;
}
如果我评论返回它创建一个0字节文件,看起来ie9不发送任何数据。 你们其中任何人都知道这可能是什么问题吗?
非常感谢。
编辑:
根据需要的客户代码:
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);
}
});
}
答案 0 :(得分:2)
您可能根本就没有处理多部分编码请求,这些请求仅由IE9发送,默认情况下早于3.0发送。您的服务器端代码必须正确处理这些请求以支持IE9及更早版本以及Android 2.3.x.