細かいアップローダ (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);
}
});
}