서블릿 파일 업로드
request.getParts() : multipart/form-data 전송 방식에서 각각 나눠진 부분을 받아 확인 가능
멀티파트 사용 옵션
업로드 사이즈 제한
사이즈를 넘으면 예외(SizeLimitExceededException) 발생
max-file-size : 파일 하나의 최대 사이즈, 기본 1MB
max-request-size : 멀티파트 요청 하나에 여러 파일 업로드 가능한데 그 전체 합, 기본 10MB
spring.servlet.multipart.enabled 켜기
스프링 부트는 서블릿 컨테이너에게 멀티파트 데이터를 처리하라 설정
스프링의 DispatcherServlet에서 멀티파트 리졸버(MultipartResolver) 실행
Part 주요 메서드
part.getSubmittedFileName() : 클라이언트가 전달한 파일명
part.getInputStream() : Part의 전송 데이터를 읽기 가능
part.write(...) : Part를 통해 전송된 데이터 저장 가능
스프링 파일 업로드
MultipartFile 인터페이스 제공
@RequestParam MultipartFile file
업로드하는 HTML Form의 name에 맞춰 @RequestParam 적용
>> @ModelAttribute에서도 MultipartFile 동일하게 사용 가능
MultipartFile 주요 메서드
file.getOriginalFilename() : 업로드 파일 명
file.transferTo(...) : 파일 저장
출처 : 김영한, 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
'Spring' 카테고리의 다른 글
DB / Connection Pool, DataSource (0) | 2025.04.20 |
---|---|
DB / JDBC (0) | 2025.04.19 |
MVC / 스프링 타입 컨버터 (0) | 2025.04.16 |
MVC / API 예외 처리 (0) | 2025.04.15 |
MVC / 예외 처리와 오류 페이지 (0) | 2025.04.14 |