1. 개요
이 빠른 예제에서는 Spring MultipartFile 을 File 로 변환하는 다양한 방법을 다룰 것 입니다.
2. MultipartFile # getBytes
MultipartFile 에는 파일 내용의 바이트 배열을 반환 하는 getBytes () 메서드 가 있습니다. 이 메서드를 사용 하여 파일에 바이트를 쓸 수 있습니다.
MultipartFile multipartFile = new MockMultipartFile("sourceFile.tmp", "Hello World".getBytes());
File file = new File("src/main/resources/targetFile.tmp");
try (OutputStream os = new FileOutputStream(file)) {
os.write(multipartFile.getBytes());
}
assertThat(FileUtils.readFileToString(new File("src/main/resources/targetFile.tmp"), "UTF-8"))
.isEqualTo("Hello World");
getBytes () 메소드는 경우에 유용 우리가 디스크에 쓰기 전에 파일에 대한 추가 작업을 수행 할 파일의 해시를 계산처럼.
3. MultipartFile # getInputStream
다음으로 MultipartFile 의 getInputStream () 메서드를 살펴 보겠습니다 .
MultipartFile multipartFile = new MockMultipartFile("sourceFile.tmp", "Hello World".getBytes());
InputStream initialStream = multipartFile.getInputStream();
byte[] buffer = new byte[initialStream.available()];
initialStream.read(buffer);
File targetFile = new File("src/main/resources/targetFile.tmp");
try (OutputStream outStream = new FileOutputStream(targetFile)) {
outStream.write(buffer);
}
assertThat(FileUtils.readFileToString(new File("src/main/resources/targetFile.tmp"), "UTF-8"))
.isEqualTo("Hello World");
여기서는 getInputStream () 메서드를 사용하여 InputStream 을 가져 오고 InputStream 에서 바이트를 읽고 byte [] 버퍼에 저장 합니다. 그런 다음 File 및 OutputStream 을 만들어 버퍼 내용 을 작성합니다 .
는 getInputStream () 접근 방식은 경우에 유용 우리가 포장을 필요로하는 곳에 의 InputStream을 다른에서 의 InputStream , 예 A 말할 GZipInputStream 업로드 된 파일이 gzip으로 압축 된 경우.
4. MultipartFile # transferTo
마지막으로 MultipartFile 의 transferTo () 메서드를 살펴 보겠습니다 .
MultipartFile multipartFile = new MockMultipartFile("sourceFile.tmp", "Hello World".getBytes());
File file = new File("src/main/resources/targetFile.tmp");
multipartFile.transferTo(file);
assertThat(FileUtils.readFileToString(new File("src/main/resources/targetFile.tmp"), "UTF-8"))
.isEqualTo("Hello World");
은 Using transferTo () 메서드를 우리는 간단하게 만들 필요가 파일 다음, 우리가 바이트를 기록 할 것으로를 해당 파일을 통과 transferTo () 방법.
transferTo () 메서드는 유용 때 의 MultipartFile가 만에 기록 할 필요가있다 파일 .
5. 결론
이 예제에서 우리는 Spring MultipartFile 을 File 로 변환하는 방법을 탐구했습니다 .
평소와 같이 모든 코드 예제는 GitHub 에서 찾을 수 있습니다 .
- https://docs.spring.io/spring-framework/docs/current/reference/html
- https://www.baeldung.com/spring-multipartfile-to-file
'Java' 카테고리의 다른 글
자바 스크립트에서 Spring MVC 모델 객체에 접근하기 (0) | 2021.03.29 |
---|---|
Spring MVC의 캐시 헤더 (0) | 2021.03.29 |
Spring @PathVariable 어노테이션 (0) | 2021.03.28 |
java.lang.Process API 사용방법(예제) (0) | 2021.03.28 |
Spring REST API의 바이너리 데이터 형식 (0) | 2021.03.28 |