본문 바로가기
Spring

[스프링Legacy] commons-fileupload 환경설정

by 코플+ 2023. 7. 12.

[공통] Maven pom.xml 공통 설정

 

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
			<scope>provided</scope>
		</dependency>

- pom.xml에서 servlet-api 버전을 3.1.0으로 변경

 

1. Maven Depend 추가

		<!-- 파일을 처리하기 위한 라이브러리 의존 관계 정의 -->
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.6</version>
		</dependency>
		<!-- 파일업로드를 처리하기 위한 라이브러리 의존 관계 정의 -->
		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.3.2</version>
		</dependency>

 

 

 

2. 웹 컨테이너 web.xml 설정

 - web.xml 3.1버전으로 수정한다.

3.  servlet-context.xml 설정

<beans:bean id="multipartResolver" class="org.springframework.web.multipart.support.StandardServletMultipartResolver">
</beans:bean>

- servlet-context.xml 에서 StandServletMultipartResolver bean을 등록한다.

 

 

StandardServletMultipart 사용시

web.xml 설정 multipart-config 설정

		<multipart-config>
		<location>C:\\upload</location>
		<max-file-size>20971520</max-file-size>
		<max-request-size>41943040</max-request-size>
		<file-size-threshold>209711520</file-size-threshold>
		</multipart-config>

- multipart-config 설정 추가

web.xml에서 설정하지 않을때는 @MulipartConfig 어노테이션으로도 설정이 간능하다.
- 요청을 받는 컨트롤러에 설정이 가능하다.(메소드라인이 아니라 컨트롤러 클래스 라인에 설정한다.)
@MultipartConfig( location = "D:\\upload", maxFileSize = "24681474", maxRequestSize = "485647218", fileSizeThresh01d = "154812744" )
- 임시파일이 서장되는 경로는 아래와 같다. C:\Users\{유저명}\AppData\Local\Templ

CommonsMultipartResolver 사용시

1. root-context.xml 설정 추가

	<bean id="multupartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<!-- 파일 업로드 용량(10MB) -->
		<property name="maxUploadSize" value="10485760"/>
		<property name="defaultEncoding" value="UTF-8"/>
	</bean>

 - CommonsMultipartResolver bean 등록

 

 

 

[공통] Tomcam Server 설정

- tomcat 프로젝트의 설정도 수정.

- 관련 tomcat 프로젝트의 context.xml 파일을 찾는다.

 

<Context allowCasualMultipartParsing="true" path="/">

 - 위의 내용을 추가해준다.

댓글