🧩 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는 파일 업로드 요청을 처리하는 기능이다.
  • MultipartFileapplication.properties 설정이 핵심이다.
  • 업로드 제한, 저장 방식, 보안을 함께 고려해야 한다.

연결문서

댓글남기기