当前位置: 代码迷 >> Web前端 >> swfupload当file_upload_limit初始化亟需为0时解决方案
  详细解决方案

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

热度:282   发布时间:2012-08-10 12:19:33.0
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

  相关解决方案