내 사이트에서 비디오를 업로드하려고 할 때 최대 요청 길이를 초과했습니다 오류가 발생 합니다.
이 문제를 어떻게 해결합니까?
답변
응용 프로그램을 호스팅하기 위해 IIS를 사용하는 경우 기본 업로드 파일 크기는 4MB입니다. 늘리려면 아래 섹션을 사용하십시오 web.config
–
<configuration>
<system.web>
<httpRuntime maxRequestLength="1048576" />
</system.web>
</configuration>
IIS7 이상에서는 아래 줄을 추가해야합니다.
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
</system.webServer>
참고 :
maxRequestLength
킬로바이트 로 측정maxAllowedContentLength
바이트 단위 로 측정
이것이이 구성 예제에서 값이 다른 이유입니다. (둘 다 1GB에 해당합니다.)
답변
나는 그것이 여기에 언급되지 않았다고 생각하지만, 이것을 작동시키기 위해서는 web.config 에이 두 값을 모두 제공해야했습니다.
에 system.web
<httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
그리고 system.webServer
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
중요 :이 두 값이 일치해야합니다. 이 경우 내 최대 업로드는 1024MB입니다.
maxRequestLength에는 1048576 킬로바이트 가 있으며 maxAllowedContentLength에는 1073741824 바이트가 있습니다.
나는 그것이 명백하다는 것을 알고 있지만 간과하기 쉽습니다.
답변
이 변경 사항을 전체 사이트가 아닌 업로드에 사용될 것으로 제한하는 것이 좋습니다.
<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>
답변
누군가가이 예외를 처리하고 사용자에게 의미있는 설명 ( “너무 큰 파일을 업로드하고 있습니다”과 같은)을 보여줄 방법을 찾고있는 경우를 대비하여 :
//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 (((System.Web.HttpException)httpException.InnerException).WebEventCode == System.Web.Management.WebEventCodes.RuntimeErrorPostTooLarge)
{
//handle the error
Response.Write("Too big a file, dude"); //for example
}
}
(ASP.NET 4 이상 필요)
답변
답변
구성 파일을 업데이트 할 수 없지만 파일 업로드를 처리하는 코드를 제어하는 경우 HttpContext.Current.Request.GetBufferlessInputStream(true)
.
의 true
가치disableMaxRequestLength
매개 변수는 구성 요청 제한을 무시하는 프레임 워크를 알려줍니다.
자세한 설명은 https://msdn.microsoft.com/en-us/library/hh195568(v=vs.110).aspx를 방문 하십시오.
답변
web.config에는 업로드 된 파일의 최대 크기를 구성하는 요소가 있습니다.
<httpRuntime
maxRequestLength="1048576"
/>