/ Published in: ASP
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
Global.asax: <script RunAt="server" Language="C#"> /* Fix for the Flash Player Cookie bug in Non-IE browsers. * Since Flash Player always sends the IE cookies even in FireFox * we have to bypass the cookies by sending the values as part of the POST or GET * and overwrite the cookies with the passed in values. * * The theory is that at this point (BeginRequest) the cookies have not been ready by * the Session and Authentication logic and if we update the cookies here we'll get our * Session and Authentication restored correctly */ void Application_BeginRequest(object sender, EventArgs e) { try { string session_param_name = "ASPSESSID"; string session_cookie_name = "ASP.NET_SESSIONID"; string session_value = Request.Form[session_param_name] ?? Request.QueryString[session_param_name]; if (session_value != null) { UpdateCookie(session_cookie_name, session_value); } } catch (Exception) { } try { string auth_param_name = "AUTHID"; string auth_cookie_name = FormsAuthentication.FormsCookieName; string auth_value = Request.Form[auth_param_name] ?? Request.QueryString[auth_param_name]; if (auth_value != null) { UpdateCookie(auth_cookie_name, auth_value); } } catch (Exception) { } } void UpdateCookie(string cookie_name, string cookie_value) { HttpCookie cookie = HttpContext.Current.Request.Cookies.Get(cookie_name); if (cookie == null) { HttpCookie cookie1 = new HttpCookie(cookie_name, cookie_value); Response.Cookies.Add(cookie1); } else { cookie.Value = cookie_value; HttpContext.Current.Request.Cookies.Set(cookie); } } </script> C# Page_Load: uploader.URL = Request.Url + "?ASPSESSID=" + Session.SessionID + "&AUTHID=" + (Request.Cookies[FormsAuthentication.FormsCookieName] == null ? "" : Request.Cookies[FormsAuthentication.FormsCookieName].Value);
URL: http://swfupload.org/forum/generaldiscussion/98