比如有这样的需求:文件上传完之后删除,那么上传文件个数限制也需要做相应的改变,可以通过修改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