본문 바로가기

프로그래밍

Java File 객체를 스프링 MultipartFile 객체로 변환하기

 

안녕하세요. 복사장🍗입니다.

 

자바에서 File 객체를 스프링에서 쓰는 MultipartFile 객체로 변환하는 방법을 알아보겠습니다.

 

 

# 소스코드

import java.io.File;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItem.DiskFileItem;
import java.nio.file.Files;
import java.io.FileInputStream.FileInputStream;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import org.springframework.web.multipart.commons.CommonsMultipartFile.CommonsMultipartFile;
import org.springframework.web.multipart.MultipartFile;

File file = new File("C:/file.txt");
FileItem fileItem = new DiskFileItem("mainFile", file.probeContentType(file.toPath()), false, samplePdfFile.getName(), (int) file.length(), file.getParentFile());

try {
	IOUtils.copy(new FileInputStream(samplePdfFile), fileItem.getOutputStream());
} catch (Exception e) {
	throw new EsignonException(responseCode, EsignonDefine.ESIGNON_RESULT_CODE_FAIL, "sample.pdf upload fail!");
}

MultipartFile multipartFile = new CommonsMultipartFile(fileItem);

 

 

# Gradle Dependencies

// https://mvnrepository.com/artifact/commons-io/commons-io
compile group: 'commons-io', name: 'commons-io', version: '2.4'

// https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload
compile group: 'commons-fileupload', name: 'commons-fileupload', version: '1.3.3'

// https://mvnrepository.com/artifact/org.springframework/spring-web
compile group: 'org.springframework', name: 'spring-web', version: '4.3.29.RELEASE'

 

 

 

# Mave Repsitory Link, 아래 링크에서 jar를 다운받으세요.

 

Maven Repository: commons-io » commons-io » 2.4

The Apache Commons IO library contains utility classes, stream implementations, file filters, file comparators, endian transformation classes, and much more. Note: There is a new version for this artifact commons-io commons-io 2.4 // https://mvnrepository.

mvnrepository.com

 

 

Maven Repository: org.springframework » spring-web

 

mvnrepository.com

 

 

Maven Repository: commons-fileupload » commons-fileupload

The Apache Commons FileUpload component provides a simple yet flexible means of adding support for multipart file upload functionality to servlets and web applications. VersionRepositoryUsagesDate1.4.x1.4Central216Dec, 20181.3.x1.3.3Central500Jun, 20171.3.

mvnrepository.com


도움이 되셨다면 아래 공감 한번 눌러주세요. 궁금한 점은 댓글로 남겨주세요.

 

감사합니다. 

😀