Spring

MVC / 파일 업로드

Dear-J 2025. 4. 18. 14:09

서블릿 파일 업로드

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