톰캣 파일업로드 경로 설정 / tomcat file upload path setting

북마크 추가

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"
            unpackWARs="true" autoDeploy="true">
 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

        <Context docBase="ktsa" path="/" reloadable="true" />
        <Context docBase="/var/webapps/upload" path="/resources/upload/" />

</Host>

AD
관리자
2015-11-27 14:48
SHARE