超出最大请求长度的解决方法

本文介绍了解决上传文件超出默认大小限制的问题。通过修改Web.config文件中的maxRequestLength与maxAllowedContentLength配置项,可以调整ASP.NET应用中文件上传的最大尺寸。

    不知道大家有没有遇到过这样的问题?如下图所示

它报了一个“超出了最大请求长度”的错误,原因很简单,我们的项目一开始都是默认上传文件最到时4M,但我上传的视频大过了4M,所有他就会报一个这样的错误。

解决这个方法,要修改根目录的Web.config这个文件里面的默认配置。

下面是我上网找的解决方法。

 

查找出<httpRuntime targetFramework="4.5.2" />

将他改为

<httpRuntime targetFramework="4.5.2"

<!--最大请求长度,单位为kb-->

maxRequestLength="2097151"/>

 

这样还没可以,还要加上这个配置

<system.webServer>

<!--允许上传文件长度,单位字节-->

             <security>

             <requestFiltering>

                  <requestLimits maxAllowedContentLength="2072576000"/>

             </requestFiltering>

             </security>

</system.webServer>

    这样就可以解决,这个问题了。

 

注意:maxRequestLengthmaxAllowedContentLength的区别

1、前者表示请求长度,后者表示上传文件的大小;

2、前者单位kb,后者单位字节;

3、前者默认值4M,后者默认值30000000B,约30M

4、两者的最大值都为2G

### HTTP请求参数的最大长度限制 HTTP协议本身并没有对GET请求参数的长度做出明确限制。HTTP协议主要关注的是请求和响应的消息格式,而不是消息的长度。然而,在实际应用中,GET请求的参数长度受到浏览器和服务器实现的限制[^1]。 不同的浏览器和服务器对URL长度有不同的限制: - **IE浏览器**:对URL的最大限制为2083个字符,超出此限制后,提交按钮将不会有任何反应。 - **Firefox浏览器**:对URL的长度限制为65536个字符。 - **Safari浏览器**:URL的最大长度限制为80000个字符。 - **Opera浏览器**:URL的最大长度限制为190000个字符。 - **Google Chrome浏览器**:URL的最大长度限制为8182个字符[^2]。 服务器端也存在相应的限制: - **Apache Server**:通常能接受的最大URL长度为8192个字符(此值可能因配置不同而有所变化)。 - **Microsoft Internet Information Server (IIS)**:能接受的最大URL长度为16384个字符[^2]。 此外,Tomcat服务器在8.0版本中,默认情况下允许的HTTP请求头的最大值为8KB(8192字节)。可以通过设置`maxHttpHeaderSize`参数来调整这一限制,从而间接影响GET请求的URL长度限制[^4]。 需要注意的是,当GET请求的URL长度超过服务器或浏览器的限制时,服务端可能会返回414状态码(Request-URI Too Large)[^3]。 对于POST请求,HTTP协议同样没有规定具体的长度限制。POST请求长度主要受限于服务器处理能力。例如,在Tomcat服务器中,默认情况下POST请求的数据大小限制为2MB,但可以通过修改`conf/server.xml`文件中的`maxPostSize`参数来取消这一限制。 ### 示例代码:调整Tomcat中的POST请求大小限制 ```xml <!-- 在Tomcat的server.xml文件中,找到Connector标签 --> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxPostSize="0" /> <!-- 将maxPostSize设置为0表示取消POST大小限制 --> ``` ### 总结 虽然HTTP协议本身没有对GET或POST请求的参数长度进行限制,但在实际应用中,这些限制通常由浏览器和服务器的具体实现决定。GET请求的参数长度受限于URL的最大长度,而POST请求长度则主要受限于服务器的处理能力。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值