인프런 커뮤니티 질문&답변

즐거운 갈매기님의 프로필 이미지
즐거운 갈매기

작성한 질문수

MultipartFile) 파일 미업로드시 tomcat에서 임의의 파일을 생성하는 이유에 대해 아시는 분 계실까요?

작성

·

971

0

안녕하세요!

어제 파일을 첨부하지 않았는데도 자꾸 file이 존재한다는 질문을 남겼던 학생입니다.

https://www.inflearn.com/questions/650160

아무리 생각해도 multipartFile에 대하여 파일이 존재하는지에 대한 여부는 isEmpty()를 통해 하는게 분명한 것 같습니다

그래서 일단 디버깅을 해보았는데

tomcat\localhost\ROOT라는 경로에 자꾸 임의의 .tmp파일을 생성하여 그 파일이 들어오면서 존재한다고 읽히고 있습니다.

이에 대해 검색을 했는데 다른 사람들은 아래와 같이

[/tmp/tomcat.4296537502689403143.5000/work/Tomcat/localhost/ROOT] is not valid

해당 폴더를 찾을 수 없어서 나는 에러가 많은데 저는 오히려 저 경로에 매번 새로운 임의의 파일을

파일을 업로드 하지 않아도 생성되고 있다는 점입니다.

혹시 이 임시 파일이 왜 생기는지 어떻게 제거해야 하는지 방법을 좀 아시는 분이 계시면 답변 부탁드리겠습니다.

일단 저 기본경로에 생성되는 것은 좋지 않다고 하여 따로 경로를 지정했습니다.

이제는 거기서 임시파일이 자꾸생성됩니다.

(아래는 위에 링크의 내용입니다. 링크타고 가기 귀찮으실까봐..)

매개변수로 PostDTO(Post관련 변수들), 이미지를 첨부할 수 있도록 MultipartFile을 매개변수로 받고 있습니다.

그런데 MultipartFile이 null이거나 비어있는 경우에는

이미지를 처리하는 로직을 패스하고자 하는게 제 의도였으나

파일을 첨부하지 않아도 MultipartFile에는 자꾸 어떠한 파일이 존재한다고 표시됩니다.

 

당최 왜 파일을 업로드 하지 않았을때도 multipartFile에 파일이 존재하는지 도무지 모르겠어서 도움 요청드립니다.

파일을 하나라도 첨부하였을 때도 마찬가지로 false로 이미지가 있기때문에 imgService로직을 타고 실제로 잘 동작 됩니다.

문제는 파일을 첨부하지 않았을때도 false라 imgService로직을 타서 문제가 생기고 있네요...

@RequestPart(value = "image", required = false) List<MultipartFile> multipartFile

이 부분에서 파일이 없을 때 자동으로 무언가의 인스턴스를 생성하는걸까요..?

답변 1

0

저도 궁금하네요...

즐거운 갈매기님의 프로필 이미지
즐거운 갈매기

작성한 질문수

질문하기