404错误-上传的文件大小大于30 MB

时间:2018-12-10 08:50:45

标签: c# asp.net-web-api file-upload filesize upload-max-filesize

在我们的Web API中,我们无法上传超过30MB的Fize大小。我们曾经遇到404错误,例如“ 404-找不到文件或目录。 您要查找的资源可能已被删除,名称已更改或暂时不可用。

通过Google搜索并看到各种帖子,我厌倦了配置文件中的以下更改:

Web.Config:

<system.web>
     <httpRuntime maxRequestLength="204800" timeout="7200" />
</system.web>
<requestFiltering>
     <requestLimits maxAllowedContentLength="209715200" maxQueryString="2097151" maxUrl="10999"/>
</requestFiltering>

但是,我仍然无法上传大于30MB的文件。但是相同的代码可以很好地上传30 MB以下的文件。

我在这里错过了什么吗?

3 个答案:

答案 0 :(得分:0)

1。)打开IIS管理器。

2。)选择要配置的网站。

3。)确保按管理器底部的按钮进入“功能视图”。

4。)选择“请求过滤”,然后双击该图标将其打开。显示“请求过滤”窗格。

5。)在屏幕右侧的“动作”窗格中,单击“编辑功能设置...”链接。显示“编辑请求过滤设置”窗口。

6。)在“请求限制”部分中,输入适当的“最大允许内容长度(字节)”,然后单击“确定”按钮。 重新启动IIS。

这对我有用:)

答案 1 :(得分:0)

您可以将web.config更改为使用system.webServersecurity吗?

<configuration>
    <system.web>
        <httpRuntime maxRequestLength="204800" />
    </system.web>
    <system.webServer>
        <security>
            <requestFiltering>
                <requestLimits maxAllowedContentLength="209715200" />
            </requestFiltering>
        </security>
    </system.webServer>
</configuration>

答案 2 :(得分:0)

输入对我有用的内容。 我必须进行两项更改:

使用以下设置更新web.config

<system.webServer>
            <security>
                <requestFiltering>
                    <requestLimits maxAllowedContentLength="209715200" />
                </requestFiltering>
            </security>
        </system.webServer>

但是仅使用此方法对我不起作用。我必须向API Controller添加另一个属性才能使其正常工作。

[HttpPost]
//[DisableRequestSizeLimit]
[RequestSizeLimit(70_000_000)] //Files sizes upto 70 MB are allowed

我的设置是带有ASP Hosted选项的Blazor WebAssembly模板。希望这对某人有帮助。