강의

멘토링

커뮤니티

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

오일중님의 프로필 이미지
오일중

작성한 질문수

Next.js with Spring Boot

상품 수정과 삭제(2)-타입스크립트코드

Actions formData 질문.

작성

·

13

0

//!!첫번째 if문
 if (fileNames.length > 0) {
        fileNames.forEach((fileName) => {
            updatedFormData.append('fileNames', fileName);
        });
    }





    // Append all files to the new FormData object
//!! 두번째 if문
    const files = formData.getAll('files');
    if (files.length > 0) {
        files.forEach((file) => {
            console.log('----------------------------------', file);
            if (file instanceof File) {
                if (file.size > 0) {
                    updatedFormData.append('files', file);
                }
            }
        });
    }

 

첫번째 if문하고, 두번째 if문하고 역할이 각각 뭔지 알수있을까요? 비슷하면서 헷갈립니다

답변 1

1

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

수정 화면에서 기존 파일들은 업로드 되는 것이 아니라 화면에서 남겨진 파일이름들만 문자열로 필요하고 사용자가 새로운 파일을 추가할 수도 있습니다.

 

updatedFormData 안에는 'fileNames'라는 이름으로 기존의 파일들 중에 남겨진 파일들의 이름만을 확인해서 fileNames로 담기 때문에 실제 파일은 아니고 문자열의 배열입니다.

 

아래쪽의 코드는 새로운 첨부파일을 처리하기 위해서 files라는 이름으로 전달되는 데이터들이 진짜 파일인지까지 확인한 후에 FormData에 파일을 추가하는 로직입니다.

오일중님의 프로필 이미지
오일중

작성한 질문수

질문하기