最大请求长度超出

当我尝试在我的网站上传video时,出现此错误。

你能告诉我如何解决这个问题吗?

如果您使用IIS来托pipe您的应用程序,则默认的上传文件大小为4MB。 要增加它,请在web.config中使用下面的部分 –

<configuration> <system.web> <httpRuntime maxRequestLength="1048576" /> </system.web> </configuration> 

对于IIS7及以上版本,您还需要添加以下几行:

  <system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="1073741824" /> </requestFiltering> </security> </system.webServer> 

注意: maxAllowedContentLength以字节为单位,而maxRequestLength以千字节为单位,这就是configuration示例中值不同的原因。 (两者相当于1 GB)

我不认为这是在这里提到的,但为了得到这个工作,我不得不在web.config中提供这两个值:

system.web

 <httpRuntime maxRequestLength="1048576" executionTimeout="3600" /> 

并在system.webServer

 <security> <requestFiltering> <requestLimits maxAllowedContentLength="1073741824" /> </requestFiltering> </security> 

重要提示 :这两个值必须匹配。 在这种情况下,我的最大上传量是1024兆字节。

maxRequestLength有1048576 KILOBYTES ,maxAllowedContentLength有1073741824字节

我知道这很明显,但很容易忽视。

可能值得注意的是,您可能希望将此更改限制为您希望用于上传的url,而不是整个网站。

 <location path="Documents/Upload"> <system.web> <!-- 50MB in kilobytes, default is 4096 or 4MB--> <httpRuntime maxRequestLength="51200" /> </system.web> <system.webServer> <security> <requestFiltering> <!-- 50MB in bytes, default is 30000000 or approx. 28.6102 Mb--> <requestLimits maxAllowedContentLength="52428800" /> </requestFiltering> </security> </system.webServer> </location> 

以防万一有人正在寻找一种方法来处理这个exception,并向用户显示一个有意义的解释(例如“你正在上传一个太大的文件”):

 //Global.asax private void Application_Error(object sender, EventArgs e) { var ex = Server.GetLastError(); var httpException = ex as HttpException ?? ex.InnerException as HttpException; if(httpException == null) return; if(httpException.WebEventCode == WebEventCodes.RuntimeErrorPostTooLarge) { //handle the error Response.Write("Too big a file, dude"); //for example } } 

(需要ASP.NET 4或更高版本)

最大请求大小默认为4mb(4096 KB)

这在这里解释: http : //support.microsoft.com/default.aspx?scid=kb; EN-US; 295626

上面的文章也解释了如何解决这个问题:)

web.config中有一个元素用于configuration上传文件的最大大小:

 <httpRuntime maxRequestLength="1048576" /> 

这也困扰了我好几天。 我修改了Web.config文件,但没有奏效。 事实certificate,我的项目中有两个Web.config文件,我应该修改ROOT目录中的一个,而不是其他的。 希望这会有所帮助。

maxRequestLength(长度以KB为单位) 我把1024(1MB)的maxAllowedContentLength(长度以字节为单位)应该和你的maxRequestLength(1048576 bytes = 1MB)相同。

 <system.web> <httpRuntime maxRequestLength="1024" executionTimeout="3600" /> <compilation debug="true"/> </system.web> <security> <requestFiltering> <requestLimits maxAllowedContentLength="1048576"/> </requestFiltering> </security> 

如果您有一个请求到站点中的应用程序,请确保您在根web.config中设置maxRequestLength。 应用程序的web.config中的maxRequestLength似乎被忽略。

如果您不能更新configuration文件,但完全控制处理上载文件的代码,则使用HttpContext.Current.Request.GetBufferlessInputStream(true)

disableMaxRequestLength参数的true值告诉框架忽略configuration的请求限制。

有关详细说明,请访问https://msdn.microsoft.com/zh-cn/library/hh195568(v=vs.110).aspx

由于我们的web.config文件有多个system.web部分,我被绊倒了:当我在configuration级别的system.web部分添加<httpRuntime maxRequestLength =“1048576”/>时,它工作。

我必须编辑C:\Windows\System32\inetsrv\config\applicationHost.config文件并将<requestLimits maxAllowedContentLength="1073741824" />到…

 <configuration> <system.webServer> <security> <requestFiltering> 

部分。

按照此Microsoft支持文章

我可以添加到configurationnetworking未编译

 <system.web> <httpRuntime maxRequestLength="1024" executionTimeout="3600" /> <compilation debug="true"/> </system.web> <security> <requestFiltering> <requestLimits maxAllowedContentLength="1048576"/> </requestFiltering> </security> 

请检查这个代码demurrer解决你的问题..复制它,它是一个web.config文件。 。

 <system.web> <httpRuntime executionTimeout="3600" maxRequestLength="102400" requestLengthDiskThreshold="80" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" enableKernelOutputCache="true" enableVersionHeader="true" requireRootedSaveAsPath="true" enable="true" shutdownTimeout="90" delayNotificationTimeout="5" waitChangeNotification="0" maxWaitChangeNotification="0" enableHeaderChecking="true" sendCacheControlHeader="true" apartmentThreading="false" /> <system.web>