独角兽企业重金招聘Python工程师标准>>>
uploadify上传用的是一个flash插件,flash中有个bug就是自身创建一个session,这样就导致与web本身的session不一致 权限验证失败的问题。
因为uploadify是不会自动传送session值的,所以当session被拦截后,它的请求是发不出去的(补充,还有一种情况就是uploaddify是使用flash来处理文件文件上传,而在在非IE浏览器(Firefox,Chrome)下使用flash方式向服务器发起请求,是会新生成一个session的(此时旧的session则丢失了),如果要避免这个问题,需要把当前的sessionId作为形参传给处理类);
$("#image").uploadify({swf:'uploadify/uploadify.swf',//上传使用的Flashuploader:'upload;jsessionid=${pageContext.session.id}?type=1',//服务器端处理地址width:60,//按钮的宽度height:23,//按钮的高度buttonText:"选择图片",//按钮上的文字buttonCursor:'pointer',//按钮的鼠标图标fileObjName:'Filedata',//上传参数名称//两个配套使用fileTypeExts:"*.jpg;*.png;*.bmp;*.jpeg;*.gif",//扩展名fileTypeDesc:"请选择文件",//文件说明auto:true,//选择之后,自动开始上传multi:false,//是否支持同时上传多个文件debug:true,fileSizeLimit:2*1024,removeCompleted:false,//是否移除掉队列中已经完成上传的文件。false为不移除queueSizeLimit:1,//允许多文件上传的时候,同时上传文件的个数/*onUploadSuccess:function(data){//alert(data);}*/});
注意:jsessionid前面用';' 不是'?'