이번에는 파일 업로드를 구현해보겠습니다.
1. controller
Multipart 타입으로 파일을 전달 받습니다.
@Controller
@RequiredArgsConstructor
public class MainController {
private final MainService mainService;
@PostMapping("/")
public void fileTest(MultipartFile file) throws IllegalStateException, IOException {
mainService.fileUpload(file);
}
}
2. service
System.getProperty("user.dir") 을 통해서 현재 프로젝트 경로를 알 수 있습니다.
static 폴더 안에 파일을 넣어주기 위해서 /src/main/resources/static/ 경로를 추가해주었습니다.
@Service
public class MainService {
public void fileUpload(MultipartFile file) throws IllegalStateException, IOException {
// 내부 경로 지정
String uploadPath = System.getProperty("user.dir")+"/src/main/resources/static/";
// 저장할 이름 설정, 현재는 전달받은 파일의 이름으로 설정했지만 이름 변경 가능합니다
String storeName = file.getOriginalFilename();
// 파일 저장
file.transferTo(new File(uploadPath+storeName));
}
}
*번외 : 파일 경로 찾는법
원하는 폴더에서 마우스 오른쪽 버튼을 클릭해서 Copy Path를 누르면 쉽게 찾을 수 있습니다!

'JAVA' 카테고리의 다른 글
[JAVA] @NotNull, @NotEmpty, @NotBlank (0) | 2023.02.22 |
---|---|
[JAVA] @Scheduled 사용하기 (0) | 2023.02.16 |
[JAVA] 문자열 자르기 (0) | 2023.02.06 |
[JAVA] 날짜 계산 및 비교하기 (0) | 2023.02.05 |
[JAVA] int <-> string 타입 변환 (0) | 2023.01.06 |