解决IIS下部署.NET 8上传大文件时报413 Payload Too Large、Request body too large或Request Entity Too Large错误

.NET 8开发的应用部署在IIS 10.0上,在上传一个38MB的视频文件时,提示上传失败,看请求,提示了413 Payload Too Large错误,如下图:
在这里插入图片描述
这个错误通常是由于客户端发送的请求负载(请求体)大小超过了服务器的限制而引起的。可以根据以下方式来解决:

解决413 Payload Too Large,

1、打开IIS的配置编辑器,定位到system,webServer/security/requestFiltering配置节,修改maxAllowedContentLength值为:1073741824,表示1个G大小,如下图:
在这里插入图片描述
2、打开IIS的配置编辑器,定位到system.webServer/serverRuntime配置节,修改maxRequestEntityAlloweduploadReadAheadSize的值为4294967295和1073741824。如下图:
在这里插入图片描述

修改完各配置后,记得点击右侧的应用,然后重启IIS。

再次上传该文件,提示上传成功!如果还是提示错误,接着下面的进行处理。

解决Request Entity Too Large

在这里插入图片描述

如果提示Request Entity Too Large错误,需要在进一步进行设置。打开根目录下的web.config文件,在system.webServer节点下,增加以下代码:

<security>
    <requestFiltering>
        <requestLimits maxAllowedContentLength="1073741824" />
    </requestFiltering></security>

保存后,重启网站,再次上传该文件,提示上传成功!如果还是提示错误,接着下面的进行处理。

解决Request body too large

如果还是提示413 Request body too large,打开项目解决方案的Startup.cs,添加如下代码:

services.Configure<FormOptions>(options =>{
    options.ValueLengthLimit = int.MaxValue;
    options.MultipartBodyLengthLimit = 1073741824;});

在上传接口添加下面的特性:

[DisableRequestSizeLimit]

保存,生成项目,生成项目。将修改后的代码覆盖,再次上传文件,提示上传成功。

如果还是不行的话,我真帮不了你啦~~,因为我也实在没办法了哦~