web development blog

> 前端技术 SWFUpload reset upload file queue limit

SWFUpload 文件上传组件遇到一问题,对已上传文件作删除,却提示上传达到限制,改如何重置最大上传限制?

经过一番折腾,发现在SWFUpload实例中,设置允许上传的最多文件数量时,同时也设置对象中file_queue_limit属性的上限。一旦用户已经上传成功或者添加文件到队列达到上最大数量,那么就不能继续添加文件了。

所以在对文件作删除时,需要重新设置统计信息,否则将无法继续上传任何文件。

 

官方介绍是这样处理:
var stats = swfUploadObj.getStats();
stats.successful_uploads = stats.successful_uploads - 1;
swfUploadObj.setStats(stats);
实际应用:
//保存删除计数,可以在dom对象上保存
$('body').data('removeCount',0);
//删除文件时保存
$('body').data('removeCount',$('body').data('removeCount')+1);

//重置上传统计信息
function fileDialogStart() {
    var stats = this.getStats();
    stats.successful_uploads -= $('body').data('removeCount');
    this.setStats(stats);
    $('body').data('removeCount',0);
}

/* 在queue.js中找到实例
 * 执行重置上传统计信息   
 */
new SWFUpload({
    ...
    file_dialog_start_handler: fileDialogStart,
    ...
});

-留言评论-

  • 留言载入中...

-拍砖-

 

首页|前端技术|编程/php|生活|关于我

Copyright © 2012 wmhfly.com