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

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

Barbara Streisand
Barbara Streisand原創
2025-01-29 01:26:09983瀏覽

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

提升ASP.NET Core文件上傳大小限制

在ASP.NET Core中,您可能會遇到文件上傳大小限制。要解決此問題,您需要同時考慮Web服務器(IIS)和ASP.NET Core服務器(Kestrel)施加的限制。

IIS文件大小限制

如您提供的鏈接資源中所述,IIS對文件上傳大小有默認限制。要增加應用程序的此限制,請按照以下步驟操作:

  1. 打開IIS管理器。
  2. 導航到您的網站使用的應用程序池。
  3. 右鍵單擊並選擇“屬性”。
  4. 在“限制”選項卡上,增加“最大允許內容長度”的值。

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>

全局配置

UseKestrelUseHttpSys的回調函數中修改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中文網其他相關文章!

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