上传太大文件时显示有意义的错误

2024-04-30

我们对网站上上传的文件大小设置了固定限制 - 低于默认的 asp.net 和 iis 设置的大小。

我在 Application_BeginRequest 中有一个简单的 catch 设置来捕获这个(它不是 excat,因为它检查 ContentLength 包括所有其他表单数据,但它已经足够好了)。 我想恢复处理用户尝试上传的页面,或者作为后备计划将用户重定向到页面,解释文件大小太大(我们已经有一个副标题解释这一点,但你知道用户 - '他们不需要阅读令人讨厌的字幕”)。

所以有什么问题?好吧,看来我的响应已经发送给用户 - 404 解释说找不到该页面。我不想要这种行为,我想刷新此响应,因为它不是我希望用户看到的响应 - 我想显示其他内容 - 构建我自己的响应,重定向或仅处理他们应该获得的页面无论如何。

我认为问题可能仍然是 IIS 拒绝请求/发布,因为文件比 IIS 想要的大。我真的很喜欢这一点 - 一个试图上传 20meg 图片的疯狂用户不应该被允许对 IIS 进行 DoS,但就是这样吗?或者我是否有机会拦截对用户的此响应 - 我只想将这篇文章标识为“太大”并发送适当的响应,而不是增加 IIS 上的最大大小并因此花费带宽来接收此文件返回给用户。


很棒的资源!

我使用上面的链接来捕获上传到服务器的文件太大并被重定向到默认错误页面

网络配置->

    < customErrors mode="RemoteOnly" defaultRedirect="~/GenericError.htm" />

MyPage.aspx.cs ->

    protected void Page_Error(object sender, EventArgs e)
    {
        if (HttpContext.Current.Error is HttpException)
            if ((HttpContext.Current.Error as HttpException).ErrorCode == -2147467259)
            {
                Server.ClearError();
                Response.Redirect(@"~/FileSizeError.htm", false);
            }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

上传太大文件时显示有意义的错误 的相关文章

随机推荐