목적
Spring에서 제공하는 Multipartfile을 사용할 때 location을 지정하는데
특정 path가 아닌 임의 path를 지정하는 법.
방법
1. yml 파일 or properties 파일에 multipart 관련 속성을 설정한다.
spring:
servlet:
multipart:
enabled: 'true'
location: c:\\Temp\\upload
max-request-size: 215MB
max-file-size: 200MB
위의 예시는 yml 파일이며 location 을 특정 경로로 지정한 방법이다.
위 방법은 다른 PC에서 해당 소스로 실행할 경우
해당 경로가 없다면 에러가 나기 때문에 임의의 경로로 지정하는 것이다.
spring:
servlet:
multipart:
enabled: 'true'
location: ${java.io.tmpdir}
max-request-size: 215MB
max-file-size: 200MB
location 부분을 ${java.io.tmpdir} 로 변경해준다.
이렇게 되면 해당 PC의 임시 폴더에 저장하게 되므로
다른 PC에서 실행하게 되더라도 에러가 발생하지 않는다.
※참고
1. 나중에 알게된 사실이지만 location을 아예 지정 안해도 default로 임의 경로가 지정된다고 한다.
2. 해당 경로를 자바에서 얻고 싶은 경우
System.getProperty("java.io.tmpdir");
해당 소스로 얻으면 된다.
후기
방법이 틀렸거나 문의사항 댓글 달아주세요~ 감사합니다.