tomcat에 war로 배포할 경우 upload 폴더를 프로젝트 내에 두게 되면 그 동안 업로드한 파일이 전부 지워진다.
따라서 업로드 폴더는 프로젝트 폴더가 아닌 별도의 경로로 관리해야
새로 배포하는 경우에 기존에 업로드한 파일이 지워지지 않는다.
설정방법 - linux 기준
1.업로드 폴더 생성: server path - /var/webapps/upload
/var/ 폴더 밑에 webapps, upload 폴더를 만든다
2. class의 파일 저장 경로 설정
ex)
String fileNm = "aa.jpg";
String path = "/var/webapps/upload/";
.
.
File f = new File(path+fileNm);
multipartFile.transferTo(f);
.
.
파일을 실제 저장하는 경로를 1번에서 만든 경로로 지정한다.
3. tomcat 설정
conf/server.xml 파일에 Context를 추가한다.
<Context docBase="1.서버의 upload 폴더 경로" path="2.URL상의 upload 폴더 경로(프로젝트 내)"/>
1. docBase에는 위에서 만든 서버의 업로드 폴더 경로를 넣어준다 -> /var/webapps/upload/
2. www.domain.com 의 뒤에 붙는 업로드 폴더의 경로를 넣어준다.
ex) /resources/upload/
http://www.domain.com/resoureces/upload/aa.jpg 를 호출 하면 tomcat에서는
/var/webapps/upload/aa.jpg 를 가져온다.
server.xml
<Host name="localhost" appBase="webapps"
</Host>