MultipartFile.isEmpty() vs MultipartFile != null

박영준·2023년 7월 19일
0

Spring

목록 보기
45/58

MultipartFile 를 통해, 이미지 파일을 업로드 할 수 있다.

MultipartFile.isEmpty()

1. 정의

  • 업로드된 파일의 내용이 비어있는지 확인하는 데 사용

  • 파일이 업로드되었는지 확인할 때 사용

2. 테스트

코드

	// 게시글 작성
    public PostResponseDto createPost(MultipartFile multipartFile, PostRequestDto requestDto, User user) {
        // 이미지 s3 업로드 후에 image url 반환
        String image = null;
        if (multipartFile.isEmpty()) {
            image = uploadImage(multipartFile);
        }

        Post post = new Post(requestDto, image, user);
        postRepository.save(post);
        return new PostResponseDto(post);
    }

테스트

이미지 파일 자체를 전송하지 않을 경우, MultipartFile 이 null 값이라며 에러가 발생한다.

MultipartFile != null

1. 정의

  • MultipartFile 객체 자체가 null인지 확인하는 것

  • MultipartFile 객체가 생성되지 않았거나 전송된 파일이 없는 경우를 확인할 때 사용

2. 테스트

코드

	// 게시글 작성
    public PostResponseDto createPost(MultipartFile multipartFile, PostRequestDto requestDto, User user) {
        // 이미지 s3 업로드 후에 image url 반환
        String image = null;
        if (multipartFile != null) {
            image = uploadImage(multipartFile);
        }

        Post post = new Post(requestDto, image, user);
        postRepository.save(post);
        return new PostResponseDto(post);
    }

image 에 null 값을 넣어뒀기 때문에 가능하다.

테스트

이미지 파일 자체를 전송하지 않을 경우, MultipartFile 를 제외하고 데이터가 전송 및 반환된다.

결론

MultipartFile.isEmpty()

게시글 내용과 함께 이미지를 업로드 해야 게시글을 작성할 수 있게 하려면

MultipartFile != null

이미지 업로드는 작성자의 자유에 맡기고 게시글 내용만 작성해도 되게 하려면

profile
개발자로 거듭나기!

0개의 댓글