0

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

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

网络配置:

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

但是,我仍然无法上传大小超过 30MB 的文件。但是相同的代码可以正常上传小于 30 MB 的文件。

我在这里错过了什么?

4

3 回答 3

0

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

<configuration>
    <system.web>
        <httpRuntime maxRequestLength="204800" />
    </system.web>
    <system.webServer>
        <security>
            <requestFiltering>
                <requestLimits maxAllowedContentLength="209715200" />
            </requestFiltering>
        </security>
    </system.webServer>
</configuration>
于 2018-12-10T09:03:42.470 回答
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 模板。希望这可以帮助某人。

于 2020-04-16T10:58:04.390 回答
0

1.) 打开 IIS 管理器。

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

3.) 确保您在管理器底部按钮的“功能视图”中。

4.) 选择请求过滤并通过双击图标将其打开。将显示“请求过滤”窗格。

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

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

这对我有用:)

于 2018-12-10T08:56:34.600 回答