日期:2014-05-18  浏览次数:20469 次

FileUpload上传文件出现Internet Explorer无法显示该页面
asp.net中上传文件默认值是4MB,如果想上传稍大一点的文件可以在WebConfig中配置<httpRuntime maxRequestLength="XXX"/>,但是这样不能从根本上解决问题,因为不管设置的maxRequestLength值多大总可能出现超过他的值,这时候还是会出现Internet Explorer无法显示该页面。
后来我想到的一个方法自定义一个出错页面来提示,但文件大小超过限制时跳转到自定义的出错页面。经过验证发现不行,因为这是个client side错误,server side端的Application_Error是处理不到的;
后面又想是不是可以在前台用JS来判断文件大小,然后弹出提示,结果又是伤心的失望了。
急切盼望各位大大的解决方案;
(如果有第三方插件的话可以帮忙提供Demo,这里先谢谢大家了!)

------解决方案--------------------
探讨
asp.net中上传文件默认值是4MB,如果想上传稍大一点的文件可以在WebConfig中配置<httpRuntime maxRequestLength="XXX"/>,但是这样不能从根本上解决问题,因为不管设置的maxRequestLength值多大总可能出现超过他的值,这时候还是会出现Internet Explorer无法显示该页面。
后来我想到的一个方法自定义一个出错页面来提示,但文件大小……

------解决方案--------------------
可以在Global.asax的Application_Error事件中处理,这个错误类型是HttpException,它还是在服务器端发生的,只不过早于你的页面中的处理代码
C# code

protected void Application_Error(object sender, EventArgs e)
{
    Exception ex = Server.GetLastError().GetBaseException();
    if (ex is System.Web.HttpException)
        Response.Redirect("~/error.aspx?err=" + Server.UrlEncode(ex.Message));
}

------解决方案--------------------
探讨
引用:
引用:
asp.net中上传文件默认值是4MB,如果想上传稍大一点的文件可以在WebConfig中配置<httpRuntime maxRequestLength="XXX"/>,但是这样不能从根本上解决问题,因为不管设置的maxRequestLength值多大总可能出现超过他的值,这时候还是会出现Inte……