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 |