안녕하세요. 복사장🍗입니다.
자바에서 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
도움이 되셨다면 아래 공감 한번 눌러주세요. 궁금한 점은 댓글로 남겨주세요.
감사합니다.
😀
'프로그래밍' 카테고리의 다른 글
vs code 설치 / 한글 / 한글깨짐 / 단축키 (7) | 2020.10.19 |
---|---|
Gradle 사용법 / 설치 / 기본 개념 (2) | 2020.10.17 |
[JAVA-openJDK]자바 다운로드 설치방법 / 버전확인 (1) | 2020.10.14 |
윈도우, 리눅스, Mac CPU 코어수 확인하기 (0) | 2020.10.05 |
Windows, 리눅스에서 폴더(서브디렉토리) 생성 가능 개수 / 최대 파일용량 확인하기 (0) | 2020.09.28 |