如何在 ASP.NET Core 中提高最大文件上傳大小?
問題:
在 ASP.NET Core MVC 6 中,如何將最大文件上傳大小增加到無限制?
解決方案:
ASP.NET Core 2.0 及更高版本通過 Kestrel 服務器增加了額外的文件大小限制,這與 IIS 限制是分開的。要增加文件上傳大小,您可以使用以下方法之一:
RequestSizeLimit 屬性:
對於特定的 MVC 操作或控制器,您可以使用 RequestSizeLimit
屬性來設置最大請求正文大小限制。例如,要將 MyController
控制器的 MyAction
方法的限制設置為 100,000,000 字節:
<code class="language-csharp">[HttpPost] [RequestSizeLimit(100_000_000)] public IActionResult MyAction([FromBody] MyViewModel data) { //... }</code>
IHttpMaxRequestBodySizeFeature 中間件:
要為 MVC 操作未處理的請求按每個請求的基礎配置限制,請使用 IHttpMaxRequestBodySizeFeature
:
<code class="language-csharp">app.Run(async context => { context.Features.Get<IHttpMaxRequestBodySizeFeature>().MaxRequestBodySize = 100_000_000; });</code>
全局配置:
要全局更改最大請求正文大小,請在 Startup.Configure
方法中的 UseKestrel
或 UseHttpSys
回調中修改 MaxRequestBodySize
屬性:
<code class="language-csharp">// Kestrel app.UseKestrel(options => { options.Limits.MaxRequestBodySize = null; }); // HttpSys app.UseHttpSys(options => { options.MaxRequestBodySize = 100_000_000; });</code>
在 Kestrel 配置中將 MaxRequestBodySize
設置為 null
或在 HttpSys 配置中設置為 0 將禁用請求正文大小限制。
以上是如何在ASP.NET Core中增加最大文件上傳大小?的詳細內容。更多資訊請關注PHP中文網其他相關文章!