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 状态码?