2013. 1. 23. 15:46

ASP.NET에서는 기본 업로드할 수 있는 파일의 크기가 4메가(4096 Kbytes) 입니다.

이 정도 크기인 이유는 악의적으로 파일을 올리지 못하게 하기 위함이라네요;;;

 

그것보다 큰 파일을 올리고 싶다면 컨피그 파일을 수정해야 합니다.

 

 

1. 예제 만들기

예제는 이전 글을 따라서 만들어 봅시다.

참고 : [Asp.Net] 웹서버에 파일 올리기

 

이제 4메가 이상의 파일을 선택해 봅시다.

다음과 같은 에러 페이지가 표시될 것입니다.

 

 

2. 컨피그 파일 수정하기

마이크로소프트에서 이것과 관련하여 설명을 해주고 있습니다.

참고 : 마이크로소프트 고객센터 - HOWTO: ASP.NET에서 대용량 파일 업로드 하기

 

....

어떻게 하라는건지는 알겠는데 뭔가 정리가 안 된 느낌이네요-_-;

어찌됬건 "Web.config" 파일을 열어서 "</system.web>"위에 다음과 같이 추가 해주시면 됩니다.

<!-- 업로드 파일 용량  -->
<httpRuntime executionTimeout="3600" maxRequestLength="2097151" />

 

 

executionTimeout : 파일이 업로드되는 동안 기다리는 최대 시간

maxRequestLength : 업로드 허용할 파일 크기

(참고 : MSDN - httpRuntime 요소 (ASP.NET 설정 스키마))

 

이제 테스트해 보시면 4메가 이상의 파일도 올라가는 것을 알 수 있죠.

 

그래도 파일이 올라가지 않는다?

이렇게 해도 파일이 올라가지 않는다면 IIS세팅을 확인해 보셔야 합니다.

참고 : [IIS7] 대용량 파일 업로드를 위한 설정

 

 

3. 얼마나 큰 파일까지 올릴 수 있는가?

마이크로소프트 고객센터에는 아주 큰 용량까지 가능하다고 했고 'MSDN'에는 딱히 최대크기를 지정하지 않고 있습니다.

그런데 검색해보면 2G 정도가 한계라고 하네요.

참고 : ASP.NET httpRuntime maxRequestLength 최대값은 2097151 이다.

 

이렇게까지 큰 파일은 올려보질 않아서 잘 모르겠군요 ㅡ,.ㅡ;;;

 

 

마무리

이쯤 되면 외부 라이브러리 쓰는 게 여러므로 좋습니다 ㅎㅎㅎㅎ