TY blog

Spring 파일 업로드 용량 제한 설정 본문

프로그래밍 언어/Spring Framework

Spring 파일 업로드 용량 제한 설정

주짓수하는 개발자 2023. 9. 20. 13:58

파일을 업로드하는 기능을 가지는 스프링 기반 웹 사이트를 운영할 때는 몇 가지 고려할 사항이 있는데

웹 요청의 흐름을 보면 Proxy 서버를 통해 웹 직접접근을 제한 할 수 있고 Tomcat서비스를 거쳐 Spring 컨테이너로 요청이 온다. 

 

파일업로드 용량제한은 Proxy , Tomcat, Spring 3개에서 제한설정을 할 수 있어 3가지 경우를 고려해야 한다. 

 

1. Tomcat 파일 용량 제한 

conf/server.xml 파일에  Connector 부분에 maxPostSize 속성을 추가하여 가능하다. 

톰캣 파일 업로드 제한

값 설정 

Tomcat 7.0.63 미만 : maxPostSize="0"  무제한으로 설정 
Tomcat 7.0.63 이상 : maxPostSize="-1" 무제한으로 설정

 

기본값 : 2MB로 설정 된다.

 

2. Spring MultipartResolver 설정

스프링에서 지원하는 파일데이터 처리 인터페이스, 해당 데이터를 스프링에서 사용할 수 있도록 변환해 주는 역할을 한다.

 

servlet-context.xml 파일에 bean으로 등록해서 사용할 수 있다. 

Spring MultipartResolver 설정

1. maxUploadSize : 한 요청당 업로드가 허용되는 최대 용량 BYTE ( 파일 용량뿐만 아니라 같이 요청되는 텍스트 데이터도 포함한다. 즉 BODY 사이즈 최대용량이다. )

 

 - 기본값은 5MB ( 5 * 1024 * 1024 )로 설정되어 있고 옵션 생략 시 무제한 

 - 무제한 설정 시 value 값 -1로 설정 

 

2. maxUploadSizePerFile : 한 파일당 요청할 수 있는 최대 용량 BYTE 

 

 - 기본값없음 ( 옵션 생략가능 )

 

3. maxInMemorySize : 디스크에 저장하지 않고 메모리에 유지하도록 허용하는 바이트 단위의 최대 용량 BYTE

Comments