解决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取消上传再选择文件报超过限制错误