더북(TheBook)

8.5.3 Firebase Storage로 이미지 업로드하기

Firebase의 Storage(저장소) 기능을 사용해 이미지를 업로드하겠습니다. Firebase의 Storage는 무료로 사용할 수 있으며, 총 파일 용량 최대 5GB, 일일 다운로드 최대 1GB의 제한이 있습니다.

우선 Storage의 사용법부터 알아볼까요?

import storage from '@react-native-firebase/storage';
// 업로드할 경로 지정
const reference = storage().ref('/directory/filename.png');
// 파일 저장(uri: 선택한 이미지의 로컬 경로)
await reference.putFile(uri);
// 다운로드할 수 있는(또는 Image를 통해 보여줄 수 있는) URL 생성
const url = await reference.getDownloadURL();

만약 uri를 사용해 업로드하지 않고 base64로 인코딩된 값을 사용해 업로드할 때는 reference.putString(base64) 함수를 사용합니다.

자, 이 코드를 참고해 onSubmit에서 업로드 기능을 구현해봅시다. 사용자의 프로필 이미지를 업로드할 때 profiles라는 경로 안에 사용자의 고유 ID를 파일 이름으로 사용하겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.