티스토리 뷰

728x90
반응형

 

/src/resources/static/css 라던지
/src/resources/static/js 라던지
/src/resources/static/csv 라던지

 

내부 파일경로는 JAR파일 배포 전에는 언제든 접근이 가능한데,

배포 후에는 프로젝트 내부가 아닌 외부경로에 파일이 저장됩니다.

이렇게 배포 후 저장된 외부경로 파일들은 웹사이트에서 접근할 수 없습니다.

예를 들어 /src/resources/static/css/style.css 라는 파일을 배포 후에는

localhost:8080/css/style.css로 접근할 수 있지만,

외부경로에 저장된 /src/resources/static/css/add.css를  localhost:8080/css/add.css로 접근하려 한다면 404 에러가 뜰것입니다.

이 외부경로에 저장된 파일들까지 웹페이지에서 접근하기 위해서는 @Configuration 설정파일을 추가해주면 됩니다

 

아래 코드는 localhost:8080/images/<파일명>를 입력했을 때

/home/images/ 경로에 있는 파일들까지 불러올 수 있게 해줍니다.

addResourceLocations은 앞에 file://를 꼭 붙여야 한다는 것!!

package com.example.demo;

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 fileConfig implements WebMvcConfigurer {
 
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/images/**")
                .addResourceLocations("file:///home/images/");
    }
}

 

끝입니다!

728x90
반응형
댓글