[ASP.NET Core] 请求大小限制(转载)
原文链接:https://www.cnblogs.com/riddly/p/17467420.html
请求大小一般在文件上传的时候会用到,当然也防止传过来的参数过大情况。
一、设置请求体的最大值
(在HTTP请求中,如果需要将数据从客户端(如,浏览器)发送给API,则我们会将其作为“请求体(request body)”发送。
请求体是客户端发送给API的数据;响应体是API发送给客户端的数据。)
如果不设置请求体大小默认是 30_000_000 bytes,大约28.6MB,当超出大小时会出现如下错误:
错误:Failed to read the request form. Request body too large. The max request body size is 30000000 bytes.
解决方案:
1 2 3 4 5 | 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.
解决方案:
1 2 3 4 5 | builder.Services.Configure<FormOptions>(option => { //设置最大1G, 这里的单位是byte option.MultipartBodyLengthLimit = 1073741824; }); |
三、IIS下的配置
1 2 3 4 5 6 | 如果是挂在IIS下,还需如下操作: 修改C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml中maxAllowedContentLength的大小; 修改项目web.config配置system.webServer/serverRuntime/maxRequestEntityAllowed的大小; 修改项目web.config配置system.web/httpRuntime/maxRequestLength的大小; 重启IIS。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2022-07-01 给三十几万条数据加序号(sqlserver与excel)
2022-07-01 .csv文件与excel文件的区别
2022-07-01 人脸数据库的特征提取