728x90
Spring Boot 외부 파일 경로
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry){
String resourcePath = "file:///TistoryImages/";
String connectPath = "/image/{subfolder}/**";
registry.addResourceHandler(connectPath)
.addResourceLocations(resourcePath);
}
}
- Spring Boot는 내부적으로 static 안에 있는 파일만 가져올 수 있도록 세팅되어있음. 그래서 외부에서 파일을 가져오려면 경로를 지정해줘야함.
- 위의 코드를 해석하면
- 커넥트패스의 양식으로 요청이 들어오면 리소스패스 경로에서 파일을 찾겠다는 뜻이됨.
- 단, 여기서 C:는 빼야함.
- 그리고 위 처럼 {서브폴더} 를 붙히면 리소스 패스의 서브폴더 이름에서 값을 찾음. 예를들어
INPUT → localhost:8080/image/algorithm/dfs.jpg 라고 요청이 오면
OUTPUT → C:\\TistoryImages\algorithm 폴더에서 dfs 이름의 파일을 찾아서 리턴해준다.
이러면 간편하게 다른 메소드 필요 없이 파일을 리턴해줄 수 있다.
'Dev > Spring Boot' 카테고리의 다른 글
API 최적화1 - N + 1 문제, Lazy 메커니즘, 패치조인 (0) | 2024.03.19 |
---|---|
Spring Boot - 로그를 남기는 법 : @SLF4J (0) | 2024.02.28 |
Spring Boot - Java 동적 페이지 웹 크롤링 Selenium (0) | 2023.12.25 |
Spring Security - 로그인 처리 과정 (0) | 2023.07.30 |
우분투에서 MySql 실행법 (0) | 2023.07.30 |