• asp.net Mvc 使用uploadify 上传文件 HTTP 302 Error


    CSHTML代码

     @{
            if (Request.Cookies[FormsAuthentication.FormsCookieName] != null)
            {
                <input type="hidden" id="cookieVal" name="cookieVal" value="@Request.Cookies[FormsAuthentication.FormsCookieName].Value" />;
            }
        }
    
        <script type="text/javascript">
            $(function () {
                var auth = $("#cookieVal").val() || "";
                $("#uploadify").uploadify({
                    'swf': '../../Content/uploadify/uploadify.swf',
                    'uploader': "/LawInfo/Uploadify",
                    'cancelImg': '../../Content/uploadify/cancel.png',
                    'folder': '../../File/uploadLaw',
                    'queueID': 'fileQueue',
                    'buttonText': "浏览",
                    'fileTypeExts': '*.doc;*.docx;*.pdf;*.xls;*.xlsx;*.txt;*.ppt;*.pptx',
                    'auto': false,
                    'formData': { 'AUTHID': auth, 'ASPSESSID': '@Session.SessionID' },
                    'fileSizeLimit': 10485760,
                    'removeTimeout': 1,
                    'multi': false,
                    'onSelect': function () {
                        $("#fileQueue").show();
                        //$("#_dialog").show();
                    },
                    'onUploadSuccess': function (file, data, response) {
                        var jsonres = JSON.parse(data);
                        $("#previewdiv").show();
                        //$("#Icon").val(jsonres.filename);//为隐藏域赋值
                        //filepath,filename
                        $("#LawFileName").html(file.name);
                        $("#LawFilePath").val(jsonres.filepath);
                        $("#LawFileName").attr("href", jsonres.filepath)
                        $("#fileQueue").hide();
                    },
                    'onUploadError': function (file, errorCode, errorMsg, errorString) {
                        var msgText = "上传失败
    ";
                        switch (errorCode) {
                        case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
                            msgText += "HTTP 错误
    " + errorMsg;
                            break;
                        case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:
                            msgText += "上传文件丢失,请重新上传";
                            break;
                        case SWFUpload.UPLOAD_ERROR.IO_ERROR:
                            msgText += "IO错误";
                            break;
                        case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
                            msgText += "安全性错误
    " + errorMsg;
                            break;
                        case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
                            msgText += "每次最多上传 " + this.settings.uploadLimit + "个";
                            break;
                        case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
                            msgText += errorMsg;
                            break;
                        case SWFUpload.UPLOAD_ERROR.SPECIFIED_FILE_ID_NOT_FOUND:
                            msgText += "找不到指定文件,请重新操作";
                            break;
                        case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:
                            msgText += "参数错误";
                            break;
                        default:
                            msgText += "文件:" + file.name + "
    错误码:" + errorCode + "
    "
                                + errorMsg + "
    " + errorString;
                        }
                        iTools.showError("文件:" + file.name + msgText);
                    }
                });
    
            });
        </script>
    

    C#代码

    在Global.asax中添加如下代码

            protected 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 (Exception)
                {
                }
    
                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 (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);
                }
            }
    
  • 相关阅读:
    android中uiautomatorviewer monkeyrunner脚本地址
    python subprocess 获取执行结果
    blazor学习
    【.NET框架实战】IdentityServer4身份验证、授权
    命令行 查看当前.net和.net core版本
    github种的asp.net core源代码
    ASP.NET Core Web主机(IWebHostBuilder)
    EntityFrameworkCore教程:生成数据库表
    2021年规划
    [从0到1搭建ABP微服务]
  • 原文地址:https://www.cnblogs.com/xcong/p/4331979.html
Copyright © 2020-2023  润新知