[ASP.NET Core] 请求大小限制

helloworld_06566724
• 阅读 795

请求大小一般在文件上传的时候会用到,当然也防止传过来的参数过大情况。

一、设置请求体的最大值

如果不设置请求体大小默认是 30_000_000 bytes,大约28.6MB,当超出大小时会出现如下错误:

错误:Failed to read the request form. Request body too large. The max request body size is 30000000 bytes.

解决方案:

builder.WebHost.ConfigureKestrel((context, options) =>
{
    //设置最大1G, 这里的单位是byte
    options.Limits.MaxRequestBodySize = 1073741824;
});

如果传参用的不是表单的形式(如文件上传)这样处理是足够了的,如果是则还需要设置表单的最大长度。

二、设置表单的最大值

如果不设置表单长度默认是 134,217,728 bytes,大约128MB,当超出大小时会出现如下错误:

错误:Failed to read the request form. Multipart body length limit 134217728 exceeded.

解决方案:

builder.Services.Configure<FormOptions>(option =>
{
    //设置最大1G, 这里的单位是byte
    option.MultipartBodyLengthLimit = 1073741824;
});

三、IIS下的配置

如果是挂在IIS下,还需如下操作:

  1. 修改C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml中maxAllowedContentLength的大小;
  2. 修改项目web.config配置system.webServer/serverRuntime/maxRequestEntityAllowed的大小;
  3. 修改项目web.config配置system.web/httpRuntime/maxRequestLength的大小;
  4. 重启IIS。
点赞
收藏
评论区
推荐文章
Dax Dax
3年前
前端性能优化
前端性能优化1、减少资源的请求次数和大小压缩合并js和css文件,减少http请求次数和请求资源的大小;在项目中使用webpackglup等打包编译工具2、尽量使用字体图标或者svg图标代替传统的png(jpg)图渲染更快,减少代码体积,且放大不会出现变形等3、使用图片懒加载目的是减少页面第一次加载的http请求次数,实现思路:
lix_uan lix_uan
2年前
Hadoop学习总结
HDFS相关HDFS写数据的流程首先由客户端向NameNode服务发起写数据请求NameNode收到请求后会进行基本验证验证类容包括对请求上传的路径进行合法验证对请求的用户进行权限验证验证没有问题后,NameNode会响应客户端允许上传接下来客户端会对文件按照blocksize大小进行切块,切完后依次以块为单位上传此时客户端会请求上传
Stella981 Stella981
3年前
Spring Boot 406(type=Not Acceptable, status=406)异常解决办法
使用SpringBoot,Controller请求返回的参数类型是ResponseBody,如果请求的时候使用使用配置的默认请求扩展名,例如.html,SpringMVC会抛出一个typeNotAcceptable,status406错误,如下:WhitelabelErrorPageThisapplica
Wesley13 Wesley13
3年前
mysql在LINUX和WINDOWS系统下设置表名不区分大小写
1.在LINUX系统下,表的名称是区分大小写的,而在WINDOWS环境下,表名不区分大小写;2.设置表名不区分大小写:WINDOWS环境下,修改mysql安装目录下的my.ini配置文件,在【mysqld】下添加lower\_case\_table\_names的参数,将参数值设置为0区分大小写,设置为1不区分大小写
Stella981 Stella981
3年前
Go的Pipe应用场景,往服务器提交multipart请求
multipart请求是多部件请求体,一般来多用于上传文件等场景,由于文件上传,请求体会比较大,就不适合在内存中构建完整的请求体(例如使用bytes.Buffer)。这种情况就可以考虑使用Pipe,它会返回一个Writer和一个Reader,管道流,顾名思义,一头读,一头写。读取磁盘文件,写入网络,并不会缓存在内存中。非常适合这种场
Stella981 Stella981
3年前
SpringBoot2 学习10 Controller接收参数的方式
地址传值@PathVariable获取路径参数。即url/{id}这种形式。?传值@RequestParam获取查询参数。即url?name这种形式用注解@RequestParam绑定请求参数到方法入参当请求参数username不存在时会有异常发生,可以通过设置属性requiredfalse解决,例如:@R
Wesley13 Wesley13
3年前
thinkphp url模式
入口文件是应用的单一入口,对应用的所有请求都定向到应用入口文件,系统会从URL参数中解析当前请求的模块、控制器和操作:1.http://serverName/index.php/模块/控制器/操作这是3.2版本的标准URL格式。可以通过设置模块绑定或者域名部署等方式简化URL地址中的模块及控制器名称。URL大小写
Easter79 Easter79
3年前
SpringBoot2 学习10 Controller接收参数的方式
地址传值@PathVariable获取路径参数。即url/{id}这种形式。?传值@RequestParam获取查询参数。即url?name这种形式用注解@RequestParam绑定请求参数到方法入参当请求参数username不存在时会有异常发生,可以通过设置属性requiredfalse解决,例如:@R
Stella981 Stella981
3年前
SpringBoot设置文件上传大小限制
SpringBoot默认上传文件大小不能超过1MB,超过之后会报以下异常:org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException:Thefieldfileexceedsitsmaximumpermittedsizeof
Easter79 Easter79
3年前
SpringBoot设置文件上传大小限制
SpringBoot默认上传文件大小不能超过1MB,超过之后会报以下异常:org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException:Thefieldfileexceedsitsmaximumpermittedsizeof
helloworld_06566724
helloworld_06566724
Lv1
平凡且认真的生活总会变得可爱。
文章
1
粉丝
0
获赞
0
热门文章

暂无数据