我正在使用 uploadifive(HTML5 版本而不是基于 Flash 的 uploadify),如下所示:
$('#file_upload').uploadifive({ //setup uploadify
'auto' : false,
'removeCompleted' : true,
'checkScript' : 'check-exists.php',
'formData' : {
'timestamp' : '<?php echo $timestamp;?>',
'token' : '<?php echo md5('unique_salt' . $timestamp);?>'
},
'queueID' : 'queue',
'uploader' : 'uploadifive.php',
'onUploadFile' : function(file) {
//alert('The file ' + file.name + ' is being uploaded.');
},
'onCheck' : function(file, exists) {
//alert ('onCheck: ' + file.name + '/' + exists);
},
'onUploadComplete' : function(file, data) {
//alert (file.name + ': ' + data);
}
});
使用这种简单的形式:
<form>
<div id="queue"></div>
<input id="file_upload" name="file_upload" type="file">
<a style="position: relative; top: 8px;" href="javascript:$('#file_upload').uploadifive('upload')">Upload Files</a>
</form>
如果我将一两个文件加载到一个空文件夹中,一切正常。
如果我加载 3 个或更多,我会收到可变数量的对 check_info.php 的重复调用。例如,如果我将五个文件上传到一个空文件夹,根据萤火虫有 15 次调用 check_info。
1代表文件1,返回0(即文件不存在)
2代表文件2,都返回0
3代表文件3,都返回0
4代表文件4,1返回0,3返回1(即文件存在)
5代表文件5, 2 return 0, 3 return 1
我可以忍受 0 的多个返回(尽管它的效率很低),因为它们对用户是不可见的,但是 1 的 6 个返回每个都会生成一个警告消息,用户必须回应。
我不知道为什么会这样。看过uploadifive代码,但它超出了我对jQuery的有限知识。
提前
欣赏任何建议/建议/治疗/等Tx