ASP.NET에서는 기본 업로드할 수 있는 파일의 크기가 4메가(4096 Kbytes) 입니다.
이 정도 크기인 이유는 악의적으로 파일을 올리지 못하게 하기 위함이라네요;;;
그것보다 큰 파일을 올리고 싶다면 컨피그 파일을 수정해야 합니다.
예제는 이전 글을 따라서 만들어 봅시다.
이제 4메가 이상의 파일을 선택해 봅시다.
다음과 같은 에러 페이지가 표시될 것입니다.
마이크로소프트에서 이것과 관련하여 설명을 해주고 있습니다.
참고 : 마이크로소프트 고객센터 - HOWTO: ASP.NET에서 대용량 파일 업로드 하기
....
어떻게 하라는건지는 알겠는데 뭔가 정리가 안 된 느낌이네요-_-;
어찌됬건 "Web.config" 파일을 열어서 "</system.web>"위에 다음과 같이 추가 해주시면 됩니다.
<!-- 업로드 파일 용량 -->
<httpRuntime executionTimeout="3600" maxRequestLength="2097151" />
executionTimeout : 파일이 업로드되는 동안 기다리는 최대 시간
maxRequestLength : 업로드 허용할 파일 크기
(참고 : MSDN - httpRuntime 요소 (ASP.NET 설정 스키마))
이제 테스트해 보시면 4메가 이상의 파일도 올라가는 것을 알 수 있죠.
이렇게 해도 파일이 올라가지 않는다면 IIS세팅을 확인해 보셔야 합니다.
마이크로소프트 고객센터에는 아주 큰 용량까지 가능하다고 했고 'MSDN'에는 딱히 최대크기를 지정하지 않고 있습니다.
그런데 검색해보면 2G 정도가 한계라고 하네요.
참고 : ASP.NET httpRuntime maxRequestLength 최대값은 2097151 이다.
이렇게까지 큰 파일은 올려보질 않아서 잘 모르겠군요 ㅡ,.ㅡ;;;
이쯤 되면 외부 라이브러리 쓰는 게 여러므로 좋습니다 ㅎㅎㅎㅎ