HTTP 错误 413.1 - Request Entity Too Large
- 解决办法
这个报错的原因是因为IIS配置问题,IIS最大默认配置只有30M,超过30M就会报错
解决办法
- 在程序中配置能接收最大字节大小
//配置请求头中能最大接收多少数据
//builder.WebHost.UseKestrel(options =>
//{
// //209715200:200M;524288000:500M
// options.Limits.MaxRequestBodySize =
// builder.Configuration["RequestBodySize"] == null ?
// long.Parse(builder.Configuration["RequestBodySize"]) : 209715200;
//});
builder.Services.Configure<IISServerOptions>(options =>
{
options.MaxRequestBodySize = builder.Configuration["RequestBodySize"] == null ?
long.Parse(builder.Configuration["RequestBodySize"]) : 209715200; // 设置为你想要的最大字节大小
});
//builder.Services.Configure<FormOptions>(x =>
//{
// x.MultipartBodyLengthLimit = builder.Configuration["RequestBodySize"] == null ?
// long.Parse(builder.Configuration["RequestBodySize"]) : 209715200; // 设置为你想要的最大字节大小
// x.MultipartHeadersCountLimit = 10;
//});
-
在接口上方加上属性:[DisableRequestSizeLimit]
-
IIS配置请求能接收最大字节
1.打开IIS管理器,找到站点对应的配置编辑器
2.找到system.webServer/security/requestFiltering节点,设置请求能接收最大字节数据;这里30000000值30M,可以在加一个0变成300M了
- 看看不文件中的web.config文件是否有变化,箭头指的配置,如果不设置IIS是没有的,当然也可以直接copy配置过来
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="3000000000" />
</requestFiltering>
</security>
</system.webServer>