ASP.NET Core Webアプリを実行していますが、大きなファイルをアップロードしたいです。
IISを実行しているときに、web.config
を介して制限を変更できることを知っています。
<httpRuntime maxRequestLength="1048576" />
...
<requestLimits maxAllowedContentLength="1073741824" />
新しいASP.NET Core Kestrel Webサーバーの実行中に同等の操作を行うにはどうすればよいですか?
例外が表示されます "リクエスト本文が大きすぎます。"
この役立つ発表 は、ASP.NET Core 2.0から28.6 MBのボディサイズ制限があることを確認しましたが、さらに重要なことはそれを回避する方法を示しています!
要約する:
単一のコントローラーまたはアクションの場合、 _[DisableRequestSizeLimit]
_ 属性を使用して制限を設定しないか、 [RequestSizeLimit(100_000_000)]
を使用してカスタム制限を指定します。
グローバルに変更するには、BuildWebHost()
メソッド内、_Program.cs
_ファイル内で、以下の_.UseKestrel
_オプションを追加します。
_WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseKestrel(options =>
{
options.Limits.MaxRequestBodySize = null;
}
_
さらに明確にするために、 Kestrel options documentation も参照できます。