SpringBoot Multipart
🧩 Spring Boot Multipart란
정의
Spring Boot Multipart는 파일 업로드를 포함한 multipart/form-data 요청을 처리하는 방식이다. 일반적인 폼 데이터와 파일 데이터를 함께 전송할 때 사용한다.
MultipartFile로 업로드 파일을 다룬다.- 기본 설정만으로도 파일 업로드를 처리할 수 있다.
- 필요하면 업로드 크기 제한과 예외 처리를 조정할 수 있다.
⚙️ 기본 설정
application.properties
spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=50MB
🛠 파일 업로드 예시
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@RestController
@RequestMapping("/upload")
public class FileUploadController {
@PostMapping
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
return "Uploaded file: " + file.getOriginalFilename();
}
}
🧠 주요 개념
| 항목 | 설명 |
|---|---|
MultipartFile |
업로드된 파일을 다루는 인터페이스 |
multipart/form-data |
파일 업로드 시 사용하는 전송 방식 |
max-file-size |
개별 파일의 최대 크기 |
max-request-size |
요청 전체의 최대 크기 |
⚠️ 주의사항
- 업로드 크기 제한을 명확히 설정하는 것이 좋다.
- 파일명은 그대로 저장하지 말고 서버 기준으로 재생성하는 편이 안전하다.
- 파일 저장 경로와 접근 권한을 함께 관리해야 한다.
- 대용량 파일은 메모리보다 스트리밍이나 별도 저장소를 고려하는 것이 좋다.
✅ 장점과 단점
✅ 장점
- Spring Boot에서 기본적으로 Multipart 지원 제공
- 간단한 설정만으로 파일 업로드 기능 구현 가능
MultipartFile로 처리 흐름이 단순함
❌ 단점
- 파일 크기 제한 설정을 명확히 하지 않으면 예외 발생 가능
- 파일 저장 및 보안 관련 추가적인 설정 필요
📌 정리
- Spring Boot Multipart는 파일 업로드 요청을 처리하는 기능이다.
MultipartFile과application.properties설정이 핵심이다.- 업로드 제한, 저장 방식, 보안을 함께 고려해야 한다.
댓글남기기