작성
·
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
이 부분에서 파일이 없을 때 자동으로 무언가의 인스턴스를 생성하는걸까요..?