Firebase Storage는 앱에서 파일을 안전하게 저장하고 엑세스할 수 있는 클라우드 스토리지 솔루션입니다. 이 글에서는 플러터 앱에서 Firebase Storage를 사용하여 파일을 업로드할 때 업로드 상태를 모니터링하는 방법에 대해 알아보겠습니다.
1. Firebase Storage 설정하기
먼저, Firebase 콘솔에서 프로젝트를 생성하고 Firebase Storage를 설정합니다. 생성된 프로젝트에 Firebase Storage를 연결하여 앱이 파일을 업로드할 수 있도록 환경을 구성합니다.
2. Firebase Storage 플러터 패키지 추가하기
플러터 앱에서 Firebase Storage를 사용하기 위해 firebase_storage
패키지를 pubspec.yaml
파일에 추가합니다.
dependencies:
flutter:
sdk: flutter
firebase_storage: ^4.0.0
firebase_core: ^1.0.0
이후, 터미널에서 flutter packages get
명령어로 패키지를 다운로드합니다.
3. 파일 업로드 상태 모니터링 구현하기
플러터 앱에서 파일을 Firebase Storage에 업로드할 때, firebase_storage
패키지의 UploadTask
클래스를 사용하여 업로드 상태를 모니터링할 수 있습니다. 다음은 업로드 상태를 모니터링하는 예시 코드입니다.
final Reference storageRef = FirebaseStorage.instance.ref().child('example.jpg');
final UploadTask uploadTask = storageRef.putFile(exampleFile);
uploadTask.snapshotEvents.listen((TaskSnapshot snapshot) {
print('상태: ${snapshot.state}'); // 업로드 상태 출력
print('업로드된 바이트: ${snapshot.totalBytes / snapshot.bytesTransferred}%'); // 업로드된 바이트 출력
}, onError: (dynamic error) {
print('오류 발생: $error'); // 오류 발생 시 처리
});
위의 코드에서 uploadTask.snapshotEvents
를 사용하여 업로드 상태를 리스닝하고, TaskSnapshot
객체를 통해 업로드 상태 및 진행률을 가져올 수 있습니다.
이제, 플러터 앱에서 Firebase Storage에 파일을 업로드할 때, 업로드 상태를 모니터링하는 방법에 대해 알아보았습니다. Firebase Storage를 사용하여 파일을 업로드하고 상태를 확인하여 사용자 경험을 향상시킬 수 있습니다.