IIS .Net Core 413错误和Request body too large解决办法

1 篇文章 0 订阅

错误描述

图片比较大时,在前端上传就报413错误。根本到不了后端。

在网上看到这个文章比较有用。

https://blog.csdn.net/wstever/article/details/128870742

1、修改网站Web.config配置文件

加入下面这段配置

<?xmlversion="1.0" encoding="utf-8"?>

<configuration>

<location path="." inheritInChildApplications="false">

<system.webServer>

<handlers>

<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />

</handlers>

<aspNetCore processPath="dotnet" arguments=".\WebApi.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />

<security>

<requestFiltering>

<requestLimits maxAllowedContentLength="209715200" />

</requestFiltering>

</security>

</system.webServer>

</location>

</configuration>

经过上面配置,本地上传成功,但是其他机器上报 Requestbody too large

Request body too large 错误解决方法

1、修改Startup.cs

public void ConfigureServices(IServiceCollection services)

{

services.AddFxServices();

services.AddAutoMapper();

//解决文件上传Request body too large

services.Configure<FormOptions>(x=>

{

x.MultipartBodyLengthLimit = 209_715_200;//最大200M

});

}

2、修改接口方法

加上 [DisableRequestSizeLimit]

这个时候将项目重新发布部署一下,低于200M的文件就可以正常上传了。

注意:上面的解决方法只适用于将.Net Core项目部署在IIS下。

如果是部署Linux系统下(参考其他博主的解决方法,具体没有进行测试论证,仅供参考)

需要在 Program.cs 添加如下代码

public static IWebHost BuildWebhost(string[] args) =>

WebHost.CreateDefaultBuilder(args)

.UseStartup<Startup>()

.UseKestrel(options=> {

options.Limits.MaxRequestBodySize = 209715200; // 200M

})

.Build();

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IIS 10.0 - 413.1 - Request Entity Too Large错误是指在使用IIS 10.0作为Web服务器时,当请求的实体(通常是请求的主体部分)超过服务器所允许的大小限制时,会出现该错误。这个错误通常发生在上传文件或提交大量数据的情况下。 解决这个问题的方法有以下几种: 1. 修改IIS配置文件:可以通过修改IIS的配置文件来增加请求实体的大小限制。打开IIS管理器,找到对应的网站或应用程序池,右键点击属性,选择"配置编辑器"。在"系统.webServer"节点下找到"security/requestFiltering/requestLimits"节点,将"maxAllowedContentLength"属性的值增加到所需的大小。保存更改后,重新启动IIS服务。 2. 修改Web.config文件:可以在网站的根目录下的Web.config文件中添加或修改以下配置来增加请求实体的大小限制: ```xml <system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="xxx" /> </requestFiltering> </security> </system.webServer> ``` 其中,"xxx"表示所需的大小限制,以字节为单位。保存更改后,重新启动IIS服务。 3. 使用上传组件:如果您的应用程序需要处理大文件上传,可以考虑使用第三方的上传组件,如ASP.NET的FileUpload控件或者其他开源的上传组件。这些组件通常提供了更灵活的配置选项,可以轻松处理大文件上传。 4. 调整客户端请求:如果您无法修改服务器的配置或使用上传组件,您还可以尝试调整客户端请求的大小。例如,可以通过减小上传文件的大小或者分块上传的方式来避免超过服务器的限制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值