티스토리 뷰

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
링크
«   2025/02   »
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
글 보관함