1

我正在使用 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>

我有两个问题:

  1. uploadLimit和的选项queueSizeLimit似乎不起作用。我一次只能上传 2 个文件。如果我上传超过 2 个,上传工作,但我得到很多弹出窗口(从 check-exists.php 生成)说文件已经存在于服务器上,我想替换它吗?
  2. onQueueComplete功能似乎为每个文件上传运行,而不是在所有上传完成后运行一次。即,如果我上传 10 个文件,页面会刷新 10 次。

我正在运行最新版本的 Firefox,我正在使用 1.4.4 版的 jquery,并且 Firebug 报告没有问题。

任何帮助表示赞赏。

4

1 回答 1

0

回答这个问题可能为时已晚,但它可以帮助其他人。我通过使用“ onAddQueueItem ”事件绕过了文件上传大小限制。这是代码片段。

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
        }
    }
});
于 2014-02-13T07:05:03.423 回答