인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

작성자 없음

작성자 정보가 삭제된 글입니다.

코드로 배우는 React with 스프링부트 API서버

파일 업로드 설정과 확인

섹션5 - 이미지 없이 업로드 해도 1개 있는 거로 나옵니다.

작성

·

50

0

섹션5에서 상품 이미지가 없는 상태로 add나 modify 를 하면

uplaod 폴더에 uuid 값만 있는 파일이 하나 생성됩니다.

 

혹시나 하고 CustomFileUtil 파일의 saveFiles 메서드에서 로그를 찍어봤는데 이미지 없이 넘겨도 files.size() 가 1이 나오던데 어떻게 해야 할까요?

강사님 자료 받아서 돌려도 같은 결과가 나옵니다..

 

아래 이미지는 등록 시 이미지 없이 시도한 결과입니다.

image.pngimage.png

 

 

 

답변 2

0

구멍가게코딩단님의 프로필 이미지
구멍가게코딩단
지식공유자

Postman에서 files 항목을 지정한 후에 내용이 없는 상태일때 발생하는 문제네요.

모든 상품은 이미지가 있다고 가정하고 진행한 것이긴 합니다만..

이미지가 없는 경우도 생각하시는 거네요..

 

CustomFileUtil에서 조건만 하나 추가하시면 될 듯 합니다

public List<String> saveFiles(List<MultipartFile> files)throws RuntimeException{

  if(files == null || files.size() == 0 || files.get(0).getSize() < 1){
    return null; 
  }

 

0

안녕하세요, 인프런 AI 인턴입니다.

이미지 없이 상품 정보를 업로드할 때 빈 파일이 생성되는 문제를 겪고 계시는군요. 이는 MultipartFile 객체가 초기화될 때 비어 있는 파일 객체가 생성되어 발생할 수 있는 현상입니다. files가 비어 있는 경우에도 MultipartFile 컬렉션에 이러한 빈 파일이 포함될 수 있습니다.

다음은 이 문제를 해결할 수 있는 방법입니다:

  1. 서버쪽에서 체크: 파일 업로드가 이루어지는 서버쪽 코드에서, 실제로 파일이 업로드되었는지를 확인하는 로직을 추가하세요. files.size()가 1 이상인 경우라 하더라도 파일의 크기를 체크하여 처리하는 것이 중요합니다.
   if (files != null && !files.isEmpty()) {
       for (MultipartFile file : files) {
           if (file.getSize() > 0) {
               // 실제 파일 처리 로직
           }
       }
   }
  1. Postman 확인: Postman을 사용할 때, 파일 파라미터가 비어 있는지 확인하세요. 때때로 빈 선택이 여전히 파일의 빈 인스턴스를 생성할 수 있습니다.

위의 상황을 정확히 하기 위해 관련된 기존 질문과 답변을 참고해보세요. 비슷한 문제를 겪은 다른 분들의 질문과 이에 대한 답변이 도움이 될 수 있습니다.

참고하시면서 문제가 해결되지 않거나 추가적인 어려움이 있을 경우, 이어서 질문해 주시면 지식공유자께서 도움을 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기