쌓고 쌓다
List<MultipartFile> 빈 파일 문제, MultipartFile null 체크 본문
List<MultipartFile>
게시글 작성시 파일을 선택하지 않았을떄 자꾸 빈 파일이 들어가는 이슈가 있다.
@PostMapping("/poster/write")
public String write(@RequestParam(required = false) List<MultipartFile> files) throws IOException {
}
https://stackoverflow.com/questions/46934460/null-check-for-multipart-file
SpringBoot에서 이제 파일을 선택하지 않아도 항상 채워지는 부분이 있다고한다.
정확한 문서를 찾고싶었지만 안보인다..
그래서 아래의 방법으로 해결했다.
public List<UploadFile> storeFiles(List<MultipartFile> multipartFiles) throws IOException {
List<UploadFile> storeResult = new ArrayList<>();
for(MultipartFile multipartFile : multipartFiles) {
if(multipartFile.getSize() > 0) {
...
}
}
return storeResult;
}
List<MultipartFile>을 List<UploadFile>로 변환하는 과정에서 파일의 크기가 0이 넘어가는 파일만 처리하도록 수정했다.
MultipartFile null 체크
왜 자꾸 빈 파일이 들어가는지 null 체크와 isEmpty()를 해보다가 발견했다.
public String write(@RequestParam(required = false) MultipartFile files) throws IOException {
System.out.println("files empty = " + files.isEmpty());
if(files==null) {
System.out.println("files null");
} else {
System.out.println("files no null");
}
}
MultipartFile 선택을 하지 않았을때 출력
MultipartFile 선택을 했을때 출력
결론은 isEmpty로 파일 선택 여부를 확인하자.
List<Multipart> 또한 마찬가지이다 null인 경우는 없다.
'프로그래밍 > spring' 카테고리의 다른 글
Spring MVC 구조 (0) | 2023.08.05 |
---|---|
[스프링 부트] 파일 다운로드 - 18 (0) | 2023.08.04 |
[스프링 부트] 파일 업로드 - 17 (0) | 2023.08.02 |
@Valid 400 에러, 메서드 파라미터 건들였더니 에러 (0) | 2023.08.01 |
[스프링 부트] 대댓글 작성 및 더보기 기능 - 16 (0) | 2023.07.28 |
Comments