首頁 >後端開發 >C++ >如何在ASP.NET Core中增加最大文件上傳大小?

如何在ASP.NET Core中增加最大文件上傳大小?

Linda Hamilton
Linda Hamilton原創
2025-01-29 01:11:10125瀏覽

How to Increase Maximum File Upload Size in ASP.NET Core?

如何在 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 方法中的 UseKestrelUseHttpSys 回調中修改 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn