我正在尝试将一个100MB的电影上传到我的ASP.NET核心应用程序。
我已经在我的操作上设置了这个属性:
[RequestSizeLimit(1_000_000_000)]
我还更改了Web.config
文件,以包括:
<security>
<requestFiltering>
<!-- This will handle requests up to 700MB (CD700) -->
<requestLimits maxAllowedContentLength="737280000" />
</requestFiltering>
</security>
换句话说,我已经告诉IIS允许最大700MB的文件,我还告诉ASP.NET核心允许接近1GB的文件。
但我还是会出错。而且我找不到答案。有什么想法吗?
使用这些配置,我可以通过30MB的默认大小。我可以上传50或70兆字节的文件。
5条答案
按热度按时间tuwxkamq1#
我想你只需要:[禁用请求大小限制]
下面是一个解决方案,我将Zip文件和附加的表单数据上传到运行.Net Core 3的API
s4n0splo2#
注意:这是我在将应用程序从www.example.com core 2.1迁移到3.0时遇到的问题asp.net
为了在www.example.com core 3.0中解决这个问题asp.net,我已经修改了我的program.cs,以修改最大请求正文大小,如下所示。
我的意思是,我刚刚添加了
ConfigureKestrel
部分,并在我的action方法[RequestSizeLimit(737280000)]
上添加了一个属性,如下所示我的应用程序再次开始正常运行,没有抛出
BadHttpRequestException: Request body too large
参考:https://learn.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads?view=aspnetcore-3.0#kestrel-maximum-request-body-size
jvidinwx3#
对我来说(ASP.NET core 3.1),解决方案是在
Startup.cs
的ConfigureServices
方法中添加以下行:和编辑
web.config
:vwkv1x7d4#
我使用
web.config
进行配置(而我们的API托管在IIS中):但是现在我们将我们的api移到linux容器并使用Kestrel。然后我这样配置它:
157286400 = 150兆字节;
mqkwyuun5#
Azure函数的硬编码限制为100MB:https://github.com/Azure/azure-functions-host/issues/5854