티스토리 뷰
728x90
프로젝트 외부에 저장된 이미지를 사용하고자 할 때는 WebMvcConfigurer 인터페이스를 구현하여 설정을 할 수 있으며, addResourceHandlers 메서드를 오버라이드하여 정적 리소스를 웹 애플리케이션에서 제공할 수 있도록 핸들러를 추가한다.
addResourceHandlers 메서드는 다음과 같이 설명이 되어있다.
"정적 리소스(이미지, JS 및 CSS 파일 등)를 웹 애플리케이션에서 제공하기 위해 핸들러를 추가하려면, 웹 애플리케이션 루트의 특정 위치, 클래스 패스 및 기타 위치에 해당하는 정적 리소스 경로를 등록하십시오."
예제
package com.injeong.hompage.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/attach/images/**") // --1
.addResourceLocations("file:///Users/chenchen/Desktop/dev/"); //--2
}
}
1. addResourceHandler : 웹에서 접근 할 url 경로를 적어준다.
2. addResourceLocations : 실제 파일이 존재하는 경로를 적어준다. "file://경로" 형식으로 적어준다. ⚠️마지막에 /를 적어주어야 디렉토리로 인식하므로 주의하자. /를 적어주지 않는경우 파일로 인식한다.
위의 예제에서를 테스트 하기 위해서 /Users/chenchen/Desktop/dev에 springboot.png 라는 이미지 파일을 넣어두었다.
이제 웹페이지에서 이 이미지에 접근하기 위해서는 http://localhost:8080/attach/images/springboot.png을 입력하면 된다.
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 톰캣
- Spring
- Kubernetes
- 스프링
- 아파치카프카
- 도커
- 자바코테
- Linux
- java
- 오토에버코테
- 전자정부프레임워크
- 코테
- 현대오토에버
- softeer java
- mysql
- 쿠버네티스
- softeer
- 코딩테스트
- 현대
- Docker
- javascript
- springboot
- java 코테
- 리액트
- 자바
- 자바스크립트
- 현대코테
- tomcat
- react
- centos
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함