我正在使用fineuploader将大的视频文件上传到我的服务器。除了IE8 - IE9之外,它在所有浏览器上都能完美工作。文件开始上传,但随后继续上传,几乎是“永远”,并且没有完成。
它适用于IE上较小的文件(受最大PHP帖子大小限制)。有没有办法阻止这种情况,或者给IE8-9用户一些错误信息?
我在考虑将post文件的最大大小设置为更大的值...但是不确定这是否对服务器有任何性能问题?
非常感谢您的帮助。到目前为止我的代码如下:
<script src="fineuploader/jquery.fineuploader-3.7.0.js"></script>
<script>
var fileCount = 0;
var addedFiles = 0;
var fileLimit = 1;
$(document).ready(function() {
//Hide Submit button until video has finished uploading
$('#submit').hide();
$('#uploadmessage').hide();
var filelimituploader = new qq.FineUploader({
element: $('#filelimit-fine-uploader')[0],
request: {
endpoint: 'processfile/example.php'
},
retry: {
enableAuto: true
},
chunking: {
enabled: true
},
resume: {
enabled: true
},
validation: {
allowedExtensions: ['png','jpg','jpeg','gif','mp4','avi','mov','mpg','flv','m4v'],
sizeLimit: 199229440
},
callbacks: {
onSubmit: function(id, fileName) {
$('#uploadmessage').show();
fileCount ++;
if(fileCount > fileLimit) {
$('#filelimit-fine-uploader .qq-upload-button').hide();
$('#filelimit-fine-uploader .qq-upload-drop-area').hide();
return false;
}
},
onCancel: function(id, fileName) {
$('#uploadmessage').hide();
fileCount --;
if(fileCount <= fileLimit) {
$('#filelimit-fine-uploader .qq-upload-button').show();
}
},
onComplete: function(id, fileName, responseJSON) {
if (responseJSON.success) {
addedFiles ++;
if(addedFiles >= fileLimit) {
$('#filelimit-fine-uploader .qq-upload-button').hide();
$('#filelimit-fine-uploader .qq-upload-drop-area').hide();
//$('#filenamehere').html(responseJSON.uploadName);
$('#filen').val(responseJSON.uploadName);
$('#submit').show();
$('#uploadmessage').hide();
}
}
}
}
});
});
</script>
发布于 2013-07-23 22:26:49
如果您担心这一点,请将服务器端的最大上传大小值设置为一个非常大的数字。您可以使用Fine Uploader提供的文件分块功能,并将分块大小设置为一个特定的数字,例如"10000000“(10MB)。这将确保所有请求不超过10MB(如果请求是多部分编码的,还会有一些开销)。请注意,分块在IE9或更早的版本中是不可能的,但它可以在所有其他浏览器中工作。
https://stackoverflow.com/questions/17778811
复制相似问题