uploadify兼容火狐问题

uploadify上传用的是一个flash插件。 

flash中有个bug就是自身创建一个session,这样就导致与web本身的session不一致 权限验证失败的问题。  就是这个问题 让我花了好多时间来解决 。


原因: 
因为uploadify是不会自动传送session值的,所以当session被拦截后,它的请求是发不出去的(补充,还有一种情况就是uploaddify是使用flash来处理文件文件上传,而在在非IE浏览器(Firefox,Chrome)下使用flash方式向服务器发起请求,是会新生成一个session的(此时旧的session则丢失了),如果要避免这个问题,需要把当前的sessionId作为形参传给servlet类); 


$("#uploadifyHtml").uploadify({
        	            'swf' : 'lib/ckeditor/upload/uploadify.swf',
        	            'uploader' : 'uploadHtmlToJava.do;jsessionid=<%=session.getId()%>',//后台处理的请求
        	            'cancelImg' : 'lib/uploadify/uploadify-cancel.png',
        	            'buttonImg' : 'lib/ckeditor/upload/uploadBlue.png',
        	            //'folder' : 'uploads',//您想将文件保存到的路径
        	            'queueID' : 'fileQueue',//与下面的id对应
        	            'progressData':'percentage',
        	            'queueSizeLimit' : 5,
        	            'fileTypeDesc' : 'html文件',
        	            'fileTypeExts' : '*.html;*.htm', //控制可上传文件的扩展名,启用本项时需同时声明fileDesc
        	            'auto' : true,
        	            'multi' : false,
        	            'simUploadLimit' : 1,
        	            'buttonText' : '导入html',
        	            'onQueueComplete' : function(stats) {//当队列中的所有文件全部完成上传时触发  
        	               /* alert( '成功上传的文件数: ' + stats.successful_uploads  
        	                    + ' - 上传出错的文件数: ' + stats.upload_errors  
        	                    + ' - 取消上传的文件数: ' + stats.upload_cancelled  
        	                    + ' - 出错的文件数' + stats.queue_errors);  */
        	                  if(stats.uploadsErrored == 0){
        	                  	alert('成功上传第' + stats.uploadsSuccessful + '个html文件');
        	                  	getUploadHtml();
        	                  } else {
        	                  	alert('上传第' + stats.uploadsErrored + '个html文件出错');
        	                  }
        	            }
        	        });
        	        
        	    });



补充:uploadify上传时,只要一初始化就会发出一个请求,而这个请求是当前页面的地址, 
解决方法是: 

jquery.uploadify.min.js(我用的版本是3.2)原来的代码:

Js代码   收藏代码
  1. this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url);this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url)  


替换为:  

Js代码   收藏代码
  1. this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url);this.settings.button_image_url = this.settings.button_image_url ? SWFUpload.completeURL(this.settings.button_image_url) : this.settings.button_image_url  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值