swfupload当file_upload_limit初始化需要为0时解决方案

比如有这样的需求:文件上传完之后删除,那么上传文件个数限制也需要做相应的改变,可以通过修改file_upload_limit实现,在删除时file_upload_limit+1即可。

那么如果是这样的需求呢:在文件列表编辑的时候,默认的文件数已经达到上传文件个数限制时,如何解决?有人说了,初始化file_upload_limit值为0即可,然后在删除现有的文件时file_upload_limit+1就行了,我当时也是这么想的,但是swfupload默认file_upload_limit为0时表示个数无限制,纠结了吧,呵呵,不要着急,它还提供的有successful_uploads,官方介绍的是这样处理:

     var stats = this.getStats();
     stats.successful_uploads--;
     this.setStats(stats);

我想你一看就能明白,跟刚才file_upload_limit的实现有异曲同工之妙,只不过它修改的是上传成功的个数。

那在实际应用中该如何做呢,

Code:

    var initImageCount = 3;  // 这是你初始化时现有的文件个数,假如你允许的文件个数也为3
    function fileDialogStart() {  // file_dialog_start_handler执行方法
         var stats = swfu.getStats();
         stats.successful_uploads += initImageCount;
         stats.successful_uploads -= removeCount;
         swfu.setStats(stats);
         initImageCount = 0;  // 清0,你懂得
         removeCount = 0; // 清0
    }

 

    var swfu = new SWFUpload({
         ...
         file_dialog_start_handler: fileDialogStart,

         ...

    });

 

    var removeCount = 0;  // 这就是你删除已上传文件的计数

    function removeImage() {

           ...

           removeCount++;

           ...

    }

 

 

 

 

 

www.cects.cn

你可能感兴趣的:(swfupload)