FrameWork/Spring

[Spring] 파일업로드, 다운로드 구현

JiWonSon 2020. 12. 12. 13:56

Spring MVC에서 파일을 업로드하려면 몇 가지 라이브러리와 설정을 추가해야합니다.

 

MultiPart를 처리하기 위해서 직접 구현하지 않고 주로 아파치에서 제공하는 common-fileupload 라이브러리를 사용합니다.

 

또한 commons-io 라이브러리를 추가해야 하고, MultipartResolver Bean이 설정되어야 합니다.

 

파일 테이블은 생성되어있다는 가정하에 시작해보겠습니다.

 

1) pom.xml작성

common-io라이브러리를 추가하고, 라이브러리를 Maven으로 등록하는 것은 해당 태그들을 추가하면 됩니다.

 

 

 

2) MutlipartResolver 객체 생성하는 Bean 설정

DispatcherServlet은 mltipart/form-data가 요청으로 들어올 경우

MultipartResolver를 사용하게 됩니다.

 

이를 위해서는 MultipartResolver 객체를 생성하는 Bean을 설정해야 합니다.

src/main/webapp/WEB-INF/spring 경로에 xml을 생성 후 코드를 추가해주셔도 되지만, 

저는 root-context.xml 하단에 작성하였습니다.

 

3) 컨트롤러 / 뷰 작성

파일을 전송할 수 있는 form.jsp를 생성합니다.

경로)  WEB-INF/views/form.jsp

<View>

 

업로드 할 때는 form의 enctype = multipart/form-data 로 작성해야 하고, method= post여야 합니다.

 

그리하여 MultipartResolver가 multipartFile 객체를 컨트롤러에 전달할 수 있습니다.

<Controller>

 

실행 테스트

 

파일 선택하고, 글을 등록하면 첨부된 글을 볼 수 있고, 파일을 선택하면 다운로드 된것을 확인 할 수 있습니다.

'FrameWork > Spring' 카테고리의 다른 글

[Spring] RequestMapping  (0) 2022.01.27
[Spring] 의존성 주입  (0) 2022.01.05
[Spring] 쿠키, 세션 사용법  (0) 2020.12.12
[Spring] 초기설정  (0) 2020.12.12
[Spring] Spring 어노테이션 종류  (0) 2020.12.11