非主流浏览器swfupload无法传递登录session的解决
成功志
非主流浏览器swfupload无法传递登录session的解决
2014-4-26 ok12
方法是手动把SessionId传递给服务器,再从服务器端读出SessionId再加载Session。

其实解决问题的办法 SWFUpload的Demo中已经给出了,那就是在SWFUpload的构造函数中设置post_params参数:

swfu = new SWFUpload({

         post_params: {

          "ASPSESSID": "<%=Session.SessionID %>"

 } 

post_params中设定的键值对将会以Form表单的形式传递到Upload.ashx,也就是SWFUpload提供了为请求增加自定义请求参数的接口。 


上面的代码把当前页面的SessionId写到ASPSESSID值中,当用户上传文件后,ASPSESSID就会传递到服务器上了,这时再读出SessionId再加载Session,就可以判断登录状态了



附PHP版后台处理代码:



    if(isset($_REQUEST["sid"])){

         session_id(I("request.sid"));

          session_start();                                                                    

          $isLogin = session("Login")*1;

    } else{                                                                       

          $isLogin = session("Login")*1;                                                            

    }

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容