慕哥6287543
其他答案解决了IIS限制。但是,从ASP.NET Core 2.0开始,Kestrel服务器还施加了自己的默认限制。KestrelServerLimits.cs的Github要求正文大小限制和解决方案的公告(以下引用)MVC说明如果要更改特定MVC操作或控制器的最大请求正文大小限制,则可以使用该RequestSizeLimit属性。以下将允许MyAction接受最大为100,000,000字节的请求正文。[HttpPost][RequestSizeLimit(100_000_000)]public IActionResult MyAction([FromBody] MyViewModel data){[DisableRequestSizeLimit]可用于使请求大小不受限制。这可以有效地还原仅归因于操作或控制器的2.0.0之前的行为。通用中间件指令如果MVC操作未处理该请求,则仍可以使用来在每个请求的基础上修改限制IHttpMaxRequestBodySizeFeature。例如:app.Run(async context =>{ context.Features.Get().MaxRequestBodySize = 100_000_000;MaxRequestBodySize是可为空的long。将其设置为null会禁用与MVC一样的限制[DisableRequestSizeLimit]。如果应用程序尚未开始读取,则只能配置请求的限制。否则将引发异常。有一个IsReadOnly属性可以告诉您该MaxRequestBodySize属性是否处于只读状态,这意味着配置该限制为时已晚。全局配置指令如果您要全局修改最大请求正文大小,可以通过修改或MaxRequestBodySize的回调中的属性来完成。在这两种情况下均为null。例如:UseKestrelUseHttpSysMaxRequestBodySize.UseKestrel(options =>{ options.Limits.MaxRequestBodySize = null;要么.UseHttpSys(options =>{ options.MaxRequestBodySize = 100_000_000;