非主流浏览器swfupload无法传递登录session的解决

方法是手动把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;                                                            
    }

本博客所有文章如无特别注明均为原创。作者:sysdee复制或转载请以超链接形式注明转自 成功志
原文地址《非主流浏览器swfupload无法传递登录session的解决
分享到:更多

相关推荐

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(0)