Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ Fix ] 이미지 미업로드 시 빈문자열로 처리하도록 수정 #349

Merged
merged 1 commit into from
Nov 11, 2024

Conversation

lydiacho
Copy link
Collaborator

@lydiacho lydiacho commented Nov 11, 2024

#️⃣ Related Issue

Closes #345

✅ Done Task

  • 이미지 미선택 시 빈문자열로 데이터 처리
  • 이미지 선택하지 않아도 다음단계 넘어갈 수 있도록 수정

💎 PR Point

프로필 이미지를 선택하지 않아도 가입이 진행될 수 있도록 로직을 수정해주었습니다!

const handleClickLink = () => {
if (res && imageFile) {
imageUploadMutate({ url: res.url, image: imageFile });
}
setData((prev) => ({
...prev,
imageFile,
image: imageFile ? res.fileName : '',
nickname: nickname,
isNicknameValid: true,
}));
navigate(pathname.includes('senior') ? '/seniorOnboarding/3' : '/juniorOnboarding/3');
};

기존에는 이미지를 첨부하지 않았을 경우 (imageFile state가 비어있을 경우) 이벤트 핸들러에서 early return을 시켜버려서 다음단계로의 이동을 막았었는데요!
다음과 같이 바꿨습니다.

  • imageUploadMutate (presignedURL을 통해 프로필이미지를 S3로 업로드하는 함수) : 이미지를 첨부했을 때만 실행
  • 회원가입 요청 시에 request body로 쓰는 data state에서
    • image : 이미지 파일이 있는 경우는 s3에 업로드된 파일명, 없는 경우는 빈 문자열을 담아서 보냅니다

request body에서 Image 필드가 필수 옵션이므로 (반드시 문자열로 보내야함) 빈 문자열 처리 해주었어용

📸 Screenshot

i.e.e.e.2024-11-11.i.i.6.45.07.mov

@lydiacho lydiacho self-assigned this Nov 11, 2024
@lydiacho lydiacho marked this pull request as ready for review November 11, 2024 11:24
Copy link
Collaborator

@se0jinYoon se0jinYoon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!
영상 녹화된 거 보면 이미지 파일명이 변환된 Url이 아닌 파일 자체인 것 같은데 콘솔에만 그렇게 찍히는 거죠 ? 코드에서는 res.url 들어가는 거 확인했슴다~!

Copy link
Collaborator

@ijieun ijieun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@lydiacho
Copy link
Collaborator Author

lydiacho commented Nov 11, 2024

@se0jinYoon 그 로직이

  • presigned get api를 통해 s3에 저장될 파일명을 받음
  • 해당 파일명을 join image 필드에 그대로 담아줌
  • 서버에서 프로필 이미지 내려줄 땐 파일명 앞에 s3 base url 붙여서 full url을 만들어서 내려줌!
  • 클라는 그 주소 받아서 src에 바로 넣어서 프로필사진 띄울 수 있는거

요렇게 되기 때문에 파일명만 들어가는게 맞슴니다 ! 확인되셧다면 이모지 박아주세용

@lydiacho lydiacho merged commit 366f257 into develop Nov 11, 2024
1 check passed
@lydiacho lydiacho deleted the fix/#345/optionalImage branch November 11, 2024 13:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[ Fix ] 프로필 이미지 업로드 선택사항으로 변경
3 participants