在我们接口上传文件时,就会遇到由于文件过大而不能上传,那么就需要去修改默认的大小限制。修改请求体的默认大小,需要根据不同方式的部署去修改不同的配置。比如IIS下部署,request => iis => iisServer => application,这三个地方都需要修改限制;dotnet命令运行:request => kestrel => application。(如果上面还有代理,那么也同样是需要修改默认的大小限制的)

一、web服务器配置,不同web服务器不同的设置

Kestrel,使用dotnet命令运行部署与在linux下直接运行部署时使用

services.Configure<KestrelServerOptions>(options =>
            {
                options.Limits.MaxRequestBodySize = null;//不做限制
            });
MaxRequestBodySize默认是28.6MB(30,000,000 bytes)

IISServer,使用IIS部署和在VS调试的IIS Express时使用

使用IIS Server需要配置两个地方,首先在程序中增加以下配置

services.Configure<IISServerOptions>(options =>
            {
                options.MaxRequestBodySize = null;//不做限制
            });

最后在IIS配置编辑器设置大小限制,我设置的是500M

AspNetCore中关于请求大小限制设置

二、应用程序(application

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

 

相关文章:

  • 2022-12-23
  • 2021-08-24
  • 2022-12-23
  • 2021-10-28
  • 2022-12-23
  • 2021-12-17
猜你喜欢
  • 2021-09-03
  • 2022-12-23
  • 2021-04-14
  • 2022-12-23
  • 2021-09-13
  • 2021-10-21
  • 2021-10-31
相关资源
相似解决方案