fine-uploader - 使用autoUpload上传的文件总数

时间:2013-08-27 15:47:06

标签: jquery count fine-uploader

使用jQuery包装器技术解决这个问题。

使用autoUpload功能我需要找出要上传的文件总数,这样这个计数就可以用来确定它们的完整时间(总文件数= =上传的文件)。

这里有2个请求:

  1. 发生autoUpload后,如何确定要上传的文件数量以及实际开始时间?此信息将用于确定总计数,并在启动时禁用按钮,以便用户在继续之前必须完成上传。除非有更好的方法吗?

  2. 我怎么知道'n'文件何时全部完成,以便我的按钮可以再次启用?我已经将.on('complete')连接起来,所以我觉得这部分我很高兴。当total files = uploadloaded文件时,我认为我可以再次启用按钮等。

  3. 谢谢!

1 个答案:

答案 0 :(得分:0)

我正在使用带有jquery包装器的FineUploader v3.8 UI。这个解决方案适用于我在上传文件时执行某些(禁用按钮)。

您在下面看到的是2个链式处理程序,即“已提交”和“完整”处理程序。 'submitted'处理程序使用(先前声明的)fileToUpload变量对上传进行计数。然后,此处列出的jQuery会根据其类型(按钮,提交,重置)禁用按钮。

'complete'处理程序计算使用(先前声明的)uploadedFileCounter变量完成的文件。如果uploadedFileCounter等于fileToUpload,那么我知道所有排队的文件都已完成,并且可以再次激活按钮(.removeAttr)。

 .on('submitted', function(event, id, filename) {
            filesToUpload++;
            $(':input[type=button], :input[type=submit], :input[type=reset]').attr('disabled', 'disabled');                
         }).on('complete', function(event, id, fileName, responseJSON) {                            
            uploadedFileCounter++;          

            if (filesToUpload == uploadedFileCounter)
            {
               uploadedFileCounter = 0;   
               $(':input[type=button], :input[type=submit], :input[type=reset]').removeAttr('disabled');                                                                
            }                            
 })            

希望这有帮助!