我使用Uploadifive来处理文件上传。我的(非常标准)配置如下:
<form>
<div id="queue"></div>
<div ><input id="file_upload" name="file_upload" type="file" multiple="true"></div>
<div class="uploadifive-button"><a href="javascript:$('#file_upload').uploadifive('upload')">Upload Files</a></div>
</div>
</form>
<script type="text/javascript">
<?php $timestamp = time();?>
$(function() {
$('#file_upload').uploadifive({
'auto' : false,
'checkScript' : 'check-exists.php',
'formData' : {'timestamp' : '<?php echo $timestamp;?>',
'token' : '<?php echo md5('unique_salt' . $timestamp);?>'
},
'queueID' : 'queue',
'removeCompleted' : true,
'queueSizeLimit' : 10,
'uploadLimit' : 0,
'uploadScript' : 'uploadifive.php',
'onUploadComplete' : function(file, data) {function goes here}, 'onQueueComplete' : function() { location.reload(); }
});
});
</script>
我有两个问题:
uploadLimit
和queueSizeLimit
的选项似乎不起作用。我一次只能上传2个文件。如果我上传超过2,上传工作,但我得到很多弹出窗口(从check-exists.php生成)说该文件已存在于服务器上,我是否要替换它。onQueueComplete
函数似乎针对每个文件上传运行,而不是在所有上载完成后运行一次。即,如果我上传10个文件,页面会刷新10次。我正在运行最新版本的Firefox,我正在使用jquery版本1.4.4,而Firebug报告没有问题。
任何帮助表示赞赏。
答案 0 :(得分:0)
可能迟到回答这个问题,但它可以帮助别人。我通过使用&#39; onAddQueueItem&#39;来解决文件上传大小限制问题。事件。这是代码段。
var bytesLoaded = 0;
$("#file_upload").uploadifive({
....
'onAddQueueItem' : function(file) {
bytesLoaded += file.size;
//setting maximum upload to 20MB
if(bytesLoaded > (20*1024*1024)){
alert"The file uploaded is greater than 20MB.");
cancel(); //cancel button ensures the upload is not done
}
}
});