我试图在.net核心网络api中上传一些大于〜30Mb限制的文件。我尝试遵循我发现的所有建议,所有建议均在下面列出。无论我尝试了什么,我都会返回404.13错误“请求超出请求内容长度”。我正在Windows 10上的Visual Studio中运行,有人知道如何使它正常工作吗?我猜想在IIS上托管时情况可能有所不同,但我想首先在我的计算机上使它工作。
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseKestrel(o => o.Limits.MaxRequestBodySize = null)
.UseStartup<Startup>()
.Build();
下面的这个试图获取IHttpMaxRequestBodySizeFeature时返回null
appBuilder.ServerFeatures.Get<IHttpMaxRequestBodySizeFeature>.MaxRequestBodySize = null;
将其添加到我的app.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<gcServer enabled="true"/>
</runtime>
<system.web>
<httpRuntime maxRequestLength="2147483647"/>
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2147483647"/>
</requestFiltering>
</security>
</system.webServer>
</configuration>
向我的控制器添加属性:
[HttpPost]
[DisableRequestSizeLimit]
//[RequestSizeLimit(100_000_000)]
public IActionResult Document(IList<IFormFile> files)
答案 0 :(得分:1)
要回答我自己的问题,原来我应该创建一个Web.config文件,然后将放入app.config文件中的内容放入其中。