본문 바로가기
JAVA

[JAVA] Springboot file upload 구현

by meetyou 2023. 2. 10.

이번에는 파일 업로드를 구현해보겠습니다.

 

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