提升ASP.NET Core文件上傳大小限制
在ASP.NET Core中,您可能會遇到文件上傳大小限制。要解決此問題,您需要同時考慮Web服務器(IIS)和ASP.NET Core服務器(Kestrel)施加的限制。
IIS文件大小限制
如您提供的鏈接資源中所述,IIS對文件上傳大小有默認限制。要增加應用程序的此限制,請按照以下步驟操作:
Kestrel文件大小限制
從ASP.NET Core 2.0開始,Kestrel也對文件上傳施加了自己的限制。這些限制在KestrelServerLimits.cs文件中定義。
要增加Kestrel中的文件大小限制,您可以採用以下幾種方法:
MVC操作方法
在特定的MVC操作方法或控制器上使用[RequestSizeLimit]
特性來覆蓋默認限制。例如:
<code class="language-csharp">[HttpPost] [RequestSizeLimit(100_000_000)] public IActionResult MyAction([FromBody] MyViewModel data) { }</code>
通用中間件
使用IHttpMaxRequestBodySizeFeature
特性來修改每個請求的限制:
<code class="language-csharp">app.Run(async context => { context.Features.Get<IHttpMaxRequestBodySizeFeature>().MaxRequestBodySize = 100_000_000; });</code>
全局配置
在UseKestrel
或UseHttpSys
的回調函數中修改MaxRequestBodySize
屬性來全局設置限制:
<code class="language-csharp">.UseKestrel(options => { options.Limits.MaxRequestBodySize = null; // 无限制 }); .UseHttpSys(options => { options.MaxRequestBodySize = 100_000_000; });</code>
通過以上步驟,您可以同時增加ASP.NET Core中Web服務器和Kestrel服務器的文件上傳大小限制。
以上是如何在ASP.NET Core中增加文件上傳大小限制?的詳細內容。更多資訊請關注PHP中文網其他相關文章!