解决uploadify cancel取消上传再选择文件报超过限制错误

  调用uploadify的cancel方法后,如果再选择文件,超出uploadLimit配置值会报错。看源代码后,uploadify调用cancel方法只有清空队列的情况下(传递*参数,$("xxx").uploadify("cancel","*"))才会重置上传队列的值,对于取消单个文件或者指定了多个要取消的队列id参数,没有重置队列长度,继续包含被取消上传的文件数量。所以继续选择文件就会报超过队列的错误了。

 

  解决uploadify调用cancel取消上传后,再选择文件上传报超过文件限制的错误办法如下。用编辑工具打开jquery.uploadify.js这个文件。注意是未压缩版本的uploadify,压缩的没法修改,代码都连一起了。。找到cancel : function(fileID, supressEvent) {这个方法,大概在303行左右的位置。在this.each(function() {语句体里面增加下面的代码重置下被cancel掉的文件队列数量。

 

		// Stop a file upload and remove it from the queue 
		cancel : function(fileID, supressEvent) {
			var args = arguments;
			this.each(function() {
			//。。。原来的代码。。。

///////////////////重置被cancel掉的队列长度
               if(args[0]!='*'){//不是清空所有队列,而是指定队列或者未传递队列参数默认去掉第一个上传对象
                 var cancelNum=args[0]?args.length:1;//得到被取消的队列数量
                 swfuploadify.queueData.queueSize   -=cancelNum;
			     swfuploadify.queueData.queueLength -= cancelNum;
              }

///////////////////
			});
		}

 

加支付宝好友偷能量挖...


原创文章,转载请注明出处:解决uploadify cancel取消上传再选择文件报超过限制错误

评论(0)Web开发网
阅读(1229)喜欢(0)JavaScript/Ajax开发技巧