ホームページ > バックエンド開発 > C++ > ASP.NETコアの無制限のファイルアップロードを処理する方法は?

ASP.NETコアの無制限のファイルアップロードを処理する方法は?

Susan Sarandon
リリース: 2025-01-29 01:21:13
オリジナル
162 人が閲覧しました

How to Handle Unlimited File Uploads in ASP.NET Core?

conquering asp.net coreのファイルアップロードサイズ制限ASP.NETコアMVCアプリケーションは、しばしばイライラするファイルサイズの制限に遭遇します。この記事では、Kestrel Serverの制限に対処することにより、無制限のファイルアップロードを処理するためのソリューションを提供します。

ケストレルのリクエストボディサイズ制限

ASP.NET Core 2.0以降のWebサーバーであるKestrelは、リクエストのボディサイズにデフォルトの制限を課します。 より大きなファイルに対応するには、構成調整が必要です MVCアプローチ:属性ベースのコントロール

属性は、特定のアクションまたはコントローラーのファイルサイズ制限をきれいに制御します。 たとえば、これにより、メソッドが最大100 MBのリクエストを処理できます。 特定のアクションまたはコントローラーに対して完全にサイズの制限を削除するには、を使用してください。 これは、ASP.NETコア2.0の前に動作に戻ります。

ミドルウェアアプローチ:レクエストごとのコントロール[RequestSizeLimit]MyAction

非MVCリクエストの場合、
<code class="language-csharp">[HttpPost]
[RequestSizeLimit(100_000_000)]
public IActionResult MyAction([FromBody] MyViewModel data)
{
}</code>
ログイン後にコピー
は、リケストごとのサイズの調整を許可します:

[DisableRequestSizeLimit]

覚えておいてください:リクエスト本体が読み取られていない場合にのみ、変更が可能です。変更を加える前に、

プロパティを確認してください。

グローバル構成:サーバー全体のコントロール

IHttpMaxRequestBodySizeFeature

最大リクエストのボディサイズをグローバルに調整するには、
<code class="language-csharp">app.Run(async context =>
{
    context.Features.Get<IHttpMaxRequestBodySizeFeature>().MaxRequestBodySize = 100_000_000;
});</code>
ログイン後にコピー
または

オプション内のIsReadOnlyプロパティを変更します:

または

これらの構成を実装することにより、ASP.NETコアアプリケーションのファイルサイズ制限を効果的に排除し、任意に大きなアップロードの処理を可能にします。

以上がASP.NETコアの無制限のファイルアップロードを処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート