forDevLife
resource 내의 파일 업로드 방법(file -> MultipartFile) 본문
Application run 시점에 미리 csv 파일을 db에 업로드 하고 싶어서 다음과 같은 방법을 사용했다.
< Application.class >
@Override
public void run(String... args) throws Exception {
ClassPathResource classPathResource = new ClassPathResource("파일.csv");
// 파일 업로드 로직 수행 //
File file = classPathResource.getFile();
FileItem fileItem = new DiskFileItem("file", Files.probeContentType(file.toPath()), false, file.getName(), (int) file.length() , file.getParentFile());
InputStream input = new FileInputStream(file);
OutputStream os = fileItem.getOutputStream();
IOUtils.copy(input, os);
MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
// =================== //
// DB 반영 Service 메서드 수행
csvFileUploadService.save(multipartFile);
}
- CommandLineRunner를 implements하고, run 메서드를 오버라이딩 한다.
- resources에 업로드하고자 하는 파일을 놓고, file -> multipartFile을 수행한다.
- 변경된 파일을 대상으로 service 메서드를 수행한다.
'Etc' 카테고리의 다른 글
[Git, GitHub] 입문 (0) | 2021.12.03 |
---|---|
[Git] 다른 repository로 프로젝트(브랜치) 옮기기 (0) | 2021.11.28 |
[git] github push 되돌리기 (0) | 2021.09.03 |
[git] git add 취소하기, git commit 취소하기, git push 취소하기 (0) | 2021.08.10 |
[기초]빌드 도구 설명, 메이븐 프로젝트 생성, 의존성 관리 (0) | 2021.06.25 |
Comments