2009-06-24 5 views
17

maxRequestLength - 파일 크기 업로드 제한 (예 : 파일/새로 만들기, 기타 그림/새로 만들기). 모든 액션에는 추가 매개 변수 (예 :/File/New? folderId = 234)가 사용됩니다.ASP.NET MVC의 파일 크기 업로드 제한 : web.config의 maxRequestLength 설정이 두 개 이상인 경우

단일 설정은 예상대로 작동합니다

<httpRuntime executionTimeout="60" maxRequestLength="1024" /> 

내가 루트 Web.config의 2 개 위치 섹션이 설정을하려고했으나 어떤 성공하지. 나는 "경로"에서 무엇을 쓸지 모르겠다 - 물리적 aspx 페이지의보기, 또는 컨트롤러 + 액션 ... 그러나, 아무것도 작동하는 것 같습니다.

<location path="/File/"> 
    <system.web> 
     <httpRuntime executionTimeout="60" maxRequestLength="4096" /> 
    </system.web> 
</location> 
<location path="/Picture/"> 
    <system.web> 
     <httpRuntime executionTimeout="60" maxRequestLength="1024" /> 
    </system.web> 
</location> 

내가 특정보기 폴더에 또 다른 Web.config를 넣어 시도 (예를 들어/뷰/그림/...), 그것은 고전적인 웹 양식 ASP.NET에서 작동처럼,하지만이 수행하지 않는 것 중 트릭 ... 아무리 내가 뭘

<location path=""> 
    <system.web> 
     <httpRuntime executionTimeout="60" maxRequestLength="1024" /> 
    </system.web> 
</location> 

는 httpRuntime.maxRequestLength에 대해 하나의 값이 적용됩니다 - (루트)의 web.config ... system.web에서 그.

답변

11

을 - 그래서 당신은이 있어야합니다

<location path="File"> 
    <system.web> 
    <httpRuntime executionTimeout="60" maxRequestLength="4096" /> 
    </system.web> 
</location> 
<location path="Picture"> 
    <system.web> 
    <httpRuntime executionTimeout="60" maxRequestLength="1024" /> 
    </system.web> 
</location> 

가상 또는 실제 디렉터리 수준을 Web.config에는 < 위치> 요소가 없어야합니다.

그건 당신을 정렬해야합니다. Location element에 대한

워드 프로세서도 바로이 예를 :

다음 코드 예제에서는 지정된에만 페이지 1백28킬로바이트에 업로드 된 파일의 크기 제한을 설정하는 방법을 보여줍니다.

<configuration> 
    <location path="UploadPage.aspx"> 
    <system.web> 
     <httpRuntime maxRequestLength="128"/> 
    </system.web> 
    </location> 
</configuration> 
+0

물론 맞습니다. 가능한 모든 변형 ("그림", "/ 그림", "그림 /", "그림/그림"등)을 시도했지만 내 질문을 게시 할 때 "/ 그림 /"을 선택했습니다. 분명히 틀렸어. 그러나 다른 이유로 인해 작동하지 않았습니다. 필자는 코드를 리팩터링하고 (매개 변수가 제공된 방식을 변경하여 이제는 쿼리 문자열 매개 변수로 변경) 제대로 작동하기 시작했지만 문제가 무엇인지 잘 모르겠습니다. :-(어쨌든 고마워! :-) – Alex42

0

이 솔루션은, 불완전 IIS 7은 기본적으로 30MB로 제한 "요청 필터링"설정이 있기 때문이다. 이 매개 변수를 늘려야합니다. 자세한 내용은 my blogpost