2010-08-30 38 views
0

我正在使用YUI 2 Uploader上传一些文件。我的用户将会上传多个文件,所以我想使用YUI Uploader的'文件队列'。这一切都成功。我在上传文件时禁用了上传器,因此一旦他们开始上传文件,用户就无法将新文件添加到队列中。YUI上传器 - 如何判断何时上传所有文件?

当所有的文件上传完成后,我想做一些事情(使用JavaScript)。 YUI上传器提供某些文件上传时的信号,但不包括队列中所有文件上传时的信号。有没有办法检测所有文件何时上传?

回答

1

保持在uploadComplete处理文件&的对象(或阵列)删除哪个文件,刚刚结束。如果没有人留下你的上传完成功能。

此处的示例执行http://tivac.com/upload/upload.js它有一些错误但解决了这个特定的问题。

0

为uploadcomplete事件创建事件处理程序。 看看YUI的上传文档: http://developer.yahoo.com/yui/docs/YAHOO.widget.Uploader.html

http://developer.yahoo.com/yui/examples/uploader/uploader-advanced-queue.html

function onUploadComplete(event) { 
     rowNum = fileIdHash[event["id"]]; 
     prog = Math.round(100*(event["bytesLoaded"]/event["bytesTotal"])); 
     progbar = "<div style='height:5px;width:100px;background-color:#CCC;'><div style='height:5px;background-color:#F00;width:100px;'></div></div>"; 
     singleSelectDataTable.updateRow(rowNum, {name: dataArr[rowNum]["name"], size: dataArr[rowNum]["size"], progress: progbar}); 
    } 
+0

当文件上传时,每个文件调用一次。如果队列中有3个项目,则在第一个项目完成时调用此方法。我想要一个只有在所有3个都已经升级时才被调用的东西。 – Rory 2010-08-30 12:49:53