[Spring Boot] MultipartFile transferTo() 사용 파일 저장시 주의사항

multipart 기본 경로

Spring Boot 설정에서 spring.servlet.multipart.location를 특정 경로로 설정하지 않을 경우 기본적으로 tmp 폴더로 지정됩니다.

각 운영체제 tmp 경로

  • Windows: C:\User\사용자\AppData\Local\Temp
  • Linux: \tmp

각 운영체제 basedir 경로

  • Windows: C:\User\사용자\AppData\Local\Temp\tomcat.xxxxxx.8080\work\Tomcat\localhost\ROOT
  • Linux: \tmp\tomcat.xxxxxx.8080\work\Tomcat\localhost\ROOT

위와 같이 눈으로 보기에도 많이 지저분한 경로에 저장이 되므로 작업과 관리가 용이하도록 경로를 직접 설정해 주는 것이 좋습니다.

주의사항

경로 설정시 주의사항은 파일 저장 경로를 /upload로 할 경우 리눅스는 절대경로로 인식하여 /upload로 인식하지만 윈도우는 상대경로로 인식하여 basedir을 포함한 경로를 만듭니다.

결과는 C:\User\사용자\AppData\Local\Temp\tomcat.xxxxxx.8080\work\Tomcat\localhost\ROOT\upload 입니다.

만약 C:/upload에 저장하고 싶다면 /upload가 아닌 C:/upload로 상세하게 입력해야 합니다.

1
spring.servlet.multipart.location=C:/upload
Share