Backend/Spring Framework
[Thymeleaf] 이미지 외부 경로에서 가져오기
mopil
2022. 6. 26. 18:41
반응형
# 서론
[ek tour 리뉴얼 프로젝트 중 기록]
이미지 파일을 스프링 부트 resource에 넣으면 빌드를 하면 수정하기 힘들다. 그래서 동적으로 변경가능하게끔 외부 경로에서 (가상 인스턴스에 이미지 파일을 넣어놓고, 이를 경로로 불러오기) 가져오는걸 구현하는 방법을 기록한다.
# 가상 인스턴스에 이미지 업로드
pwd 명령어를 통해서 해당 디렉토리 위치를 파악한다.
/home/ubuntu/spring
<img src="/home/ubuntu/spring/logo.png">
뭔가 이렇게 설정을 하면 될 것 같지만 안 된다.
따라서 추가적인 설정을 해줘야한다.
# 스프링 부트 설정
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/image/**")
.addResourceLocations("file:///home/ubuntu/spring/");
}
스프링 부트에서 외부 경로로 접근하기 위해서는 리소스 핸들러를 설정해줘야한다.
addResourceHandler : src에 들어갈 경로를 적어준다.
addResourceLocations : 리눅스 가상 인스턴스에 저장되어있는 이미지 경로를 넣어준다.
주의!
file:/// 경로 /
꼭 이런 방식으로 넣어줘야 인식한다!! (마지막에 / 닫는거 주의)
# 타임리프에서 사용하기
<img src="/image/logo.png">
이제 src 경로를 이렇게 설정해주면 잘 불러와진다. (굳이 th:src를 사용하지 않아도 된다.)
반응형