411 Length Required 要求は、要求されたリソースに必要なコンテンツの長さを指定しませんでした。
次のコードがあります。
[HttpPost]
[Route("UploadFileAsync/{RequestID}")]
public async Task<HttpResponseMessage> UploadFileAsync(int RequestID)
{
SetUser();
long maxAllowedFileSize = 9999999;
long? contentLenght = Request.Content.Headers.ContentLength;
if (!contentLenght.HasValue || contentLenght.Value > maxAllowedFileSize)
{
return Request.CreateErrorResponse(HttpStatusCode.LengthRequired, "Please set content lenght and file size should be less than 10 Mb");
}
リクエストのサイズが 9999999 を超えると動作し、411 ステータス コードを返します。
しかし、リクエスト全体をサーバーにアップロードする前に検証したいと思います(私が理解しているように、サーバーが処理できない場合に大きなファイルのアップロードを防ぐためのこの411ステータスコードの意味)。リクエスト全体をサーバーに送信する前に、リクエストを拒否して 411 ステータス コードを送信するにはどうすればよいですか?