이미지가 업로드되었지만 화면에 표시되지 않습니다! ?

어려움



Spring Boot를 사용하여 이미지를 업로드합니다.
업로드 직후에는 이미지가 HTML상에 표시되지 않고, 30초 정도 기다려 화면을 리프레시하면 표시된다.

이미지 업로드 방법



이미지 파일 ->/resource/static/images/하하
파일명 (xxx-20200712151409.jpg 등의 파일명) -> DB에 저장

해결책


  • 루트 폴더 바로 아래에 폴더(가령, images로 한다)를 만든다
    이번에는 RamenKingdom이라는 루트 폴더 바로 아래에 이미지를 만듭니다.
  • WebConfiguration 클래스 (가령, AdditionalResourceWebConfiguration이라고한다)를 작성
  • @Configuration
    public class AdditionalResourceWebConfiguration implements WebMvcConfigurer {
    
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("/images/**").addResourceLocations("file:images/");
        }
    }
    

    그리고는, 이미지를 격납하고 있던 코드를 루트 폴더 바로 아래의 images로 변경할 뿐.
    그러나 HTML에서는 다음과 같이 해야 합니다.
    
    <img th:src="@{'/images/' + ${picture.filepath}}"/>
    

    요약



    이번과 같이 동적으로 변화하는 파일은 static 부하에는 저장하지 않는다! ! !

    이상입니다. 끝까지 읽어 주셔서 감사합니다.

    좋은 웹페이지 즐겨찾기