ASP.NET MVC 使用Jquery Uploadify 在非IE浏览器下Http Error的解决方案

解决Uploadify上传控件在非IE浏览器中不工作,需要做如下2步修改:

1.Global.asax文件中,实现Application_BeginRequest函数: 

  void Application_BeginRequest( object sender, EventArgs e)
        {
             try
            {
                 string session_param_name =  " ASPSESSID ";
                 string session_cookie_name =  " ASP.NET_SessionId ";
                 if (HttpContext.Current.Request.Form[session_param_name] !=  null)
                {
                    UpdateCookie(session_cookie_name, HttpContext.Current.Request.Form[session_param_name]);
                }
                 else  if (HttpContext.Current.Request.QueryString[session_param_name] !=  null)
                {
                    UpdateCookie(session_cookie_name, HttpContext.Current.Request.QueryString[session_param_name]);
                }
            }
             catch { }

             try
            {
                 string auth_param_name =  " AUTHID ";
                 string auth_cookie_name = FormsAuthentication.FormsCookieName;
                 if (HttpContext.Current.Request.Form[auth_param_name] !=  null)
                {
                    UpdateCookie(auth_cookie_name, HttpContext.Current.Request.Form[auth_param_name]);
                }
                 else  if (HttpContext.Current.Request.QueryString[auth_param_name] !=  null)
                {
                    UpdateCookie(auth_cookie_name, HttpContext.Current.Request.QueryString[auth_param_name]);
                }
            }
             catch { }
        } 

         private  void UpdateCookie( string cookie_name, string cookie_value)
        {
            HttpCookie cookie =HttpContext.Current.Request.Cookies.Get(cookie_name);
             if( null== cookie)
            {
                cookie = new HttpCookie(cookie_name);
            }
            cookie.Value= cookie_value;
            HttpContext.Current.Request.Cookies.Set(cookie);}

        } 


2. 前台js修改,注意红色代码:

// upload
         var auth = "@(Request.Cookies[FormsAuthentication.FormsCookieName]==null?string.Empty:Request.Cookies[FormsAuthentication.FormsCookieName].Value)";
        var ASPSESSID = "@(Session.SessionID )";

        $( ' #fileInput1 ').uploadify({
             ' uploader '' /Content/uploadify.swf?var= ' +  new Date().getTime(),
             ' script '' /Money/ImportMoneyInDue ',
             ' folder '' /UploadFiles ',
             ' cancelImg '' /Content/cancel.png ',
             'scriptData':  { ASPSESSID: ASPSESSID, AUTHID: auth },
             ' fileExt '' *.xls;*.csv ',
             ' fileDesc '' *.xls;*.csv ',
             ' sizeLimit '1024 *  1024 *  4// 4M
             ' multi 'false,
             ' onComplete ': fun

        }); 

这样就可以了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值