在我们的Web API中,我们无法上传超过30MB的Fize大小。我们曾经遇到404错误,例如“ 404-找不到文件或目录。 您要查找的资源可能已被删除,名称已更改或暂时不可用。“
通过Google搜索并看到各种帖子,我厌倦了配置文件中的以下更改:
<system.web>
<httpRuntime maxRequestLength="204800" timeout="7200" />
</system.web>
<requestFiltering>
<requestLimits maxAllowedContentLength="209715200" maxQueryString="2097151" maxUrl="10999"/>
</requestFiltering>
但是,我仍然无法上传大于30MB的文件。但是相同的代码可以很好地上传30 MB以下的文件。
我在这里错过了什么吗?
答案 0 :(得分:0)
1。)打开IIS管理器。
2。)选择要配置的网站。
3。)确保按管理器底部的按钮进入“功能视图”。
4。)选择“请求过滤”,然后双击该图标将其打开。显示“请求过滤”窗格。
5。)在屏幕右侧的“动作”窗格中,单击“编辑功能设置...”链接。显示“编辑请求过滤设置”窗口。
6。)在“请求限制”部分中,输入适当的“最大允许内容长度(字节)”,然后单击“确定”按钮。 重新启动IIS。
这对我有用:)
答案 1 :(得分:0)
您可以将web.config更改为使用system.webServer
和security
吗?
<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模板。希望这对某人有帮助。