프로젝트를 진행하다보면 이미지 파일등을 업로드하여 서버 컴퓨터에 저장하는 일이 생긴다.
이때 업로드폴더를 프로젝트 내의 폴더에 저장할지, 외부 폴더에 저장할지 선택해야한다.
기본적으로 프로젝트 내부에 static 폴더가 존재하기 떄문에 내부에 저장해도 될 것이라 생각할 수 있지만 내부에 저장할 경우 브라우저에서 이미지 출력시 엑박현상이 나타날 수 있다.

스프링의 실행 방식은 자바코드, 정적파일 등을 컴파일하여 Target이라는 폴더에 저장하여 실제 실행 파일을 만들어 실행한다.
이때 컴파일을 통해 Target 폴더에 저장하는 것을 deploy라고 하는데 업로드 폴더를 내부에 둘 경우 폴더 내의 이미지 등의 파일들 또한 deploy를 진행하여야 한다.
문제는 업로드 폴더내의 파일등은 이미지 등의 용량이 큰 파일이기 때문에 deploy 시간이 길다.
deploy 시간을 기다리지 못하고 실행되어버리면 이미지가 출력되지 않는 엑박현상이 생기게 된다. 때문에 엑박현상을 일어나지 않게하려면 업로드 파일을 프로젝트 외부에 저장하여 실행시 업로드폴더내 파일등이 deploy 가 일어나지 않고 실행하도록 하여야 한다.
'백엔드 개발' 카테고리의 다른 글
도커 실행, 종료, 이미지 레이어 (0) | 2022.09.19 |
---|---|
Docker 란 (0) | 2022.09.16 |
SSE 프로토콜을 활용한 채팅서버 (0) | 2022.05.15 |
OAuth 2.0 개념 (0) | 2022.05.05 |
JWT 토큰 (0) | 2022.03.29 |
댓글