Multipart
정의
- HTTP Request Header Content-Type의 한 종류로 Client가 POST 요청을 보낼 때 HTTP Request의 하나의 Body를 여러 부분으로 나누어 여러 종류의 데이터를 동시에 전송하는 방식
- 주로 파일 업로드와 관련된 데이터 전송에 사용
- 멀티파트 요청은 Header Content-Type에 multipart/form-data 값을 가지며 여러 개의 파트로 구성됨
- 각 파트는 Header와 Body로 구성되며 Header에는 메타 데이터, Body에는 데이터가 포함
MultipartFile
정의
- org.springframework.web.multipart.MultipartFile
- Client에서 서버로 전송된 파일 데이터를 다룰 수 있도록 도와주는 Spring 인터페이스
주요 메소드
- getBytes() = 파일 데이터를 byte[]로 반환
- getInputStream() = 파일 데이터를 읽을 수 있는 InputStream 반환
- getContentType() = 파일의 컨텐츠 타입 반환
- getName() = 폼 필드의 이름 반환 (파일 필드일 경우 파일명 반환)
- getSize() = 파일 크기 조회
- getOriginalFilename() = 파일의 실제 이름 조회
- isEmpty() = 파일이 비어있는지 여부 반환
- transferTo(A) = 참조한 파일을 지정한 파일 A에 복사 (파일의 쓰기 권한이 없으면 에러 발생)
MultipartHttpServletRequest
정의
- org.springframework.web.multipart.MultipartHttpServletRequest
- 멀티파트 요청을 전송받아 해당 요청의 파라미터 및 파일 업로드 등을 처리하기 위한 방법을 제공하는 Spring 인터페이스
- HttpServletRequest 및 MultipartRequest를 확장한 인터페이스
주요 메소드
- getFile(filename) = 해당 파일명과 일치하는 파일을 MultipartFile 객체로 반환
- getFileNames() = 멀티파트 요청으로 전송 받은 파일들의 파일명을 Iterator<String> 객체로 반환
- getFiles(filename) = 해당 파일명과 일치하는 파일을 List<MultipartFile> 객체로 반환
- getFileMap() = 멀티파트 요청으로 전송 받은 파일들을 Map<String, MultipartFile> 객체로 반환
- getMultiFileMap() = 멀티파트 요청으로 전송 받은 파일들을 MultiValueMap<String, MultipartFile> 객체로 반환
※ MultiValueMap = 하나의 키에 대한 여러 개의 값을 가질 수 있는 Map (Spring에서 지원)
- getContentType() = 멀티파트 요청의 컨텐츠 타입 조회
- getHeader(key) = 헤더의 특정 속성에 대한 값 조회
- getBytes() = 파일 내용 조회
'Spring' 카테고리의 다른 글
The import org.springframework cannot be resolved 에러 (Gradle) (0) | 2024.02.12 |
---|---|
Spring https 설정 (0) | 2023.12.22 |
log4jdbc (1) | 2023.09.14 |
logback-spring.xml 로그 파일 level별 설정 문제 (0) | 2023.09.13 |
Logback (0) | 2023.09.12 |
댓글