[flutter] 플러터와 Firebase Storage 사이에서 이미지 URL을 주고받는 방법

이 글에서는 플러터와 Firebase Storage 사이에서 이미지 URL을 주고받는 방법에 대해 알아보겠습니다.

Firebase Storage

Firebase Storage는 Firebase의 클라우드 저장소 서비스로, 사용자가 앱에서 업로드한 파일(이미지, 동영상 등)을 안전하게 저장할 수 있는 기능을 제공합니다.

이미지 저장

먼저, 사용자가 업로드한 이미지를 Firebase Storage에 저장하는 방법에 대해 알아봅시다.

import 'dart:io';
import 'package:firebase_storage/firebase_storage.dart';
import 'package:path/path.dart' as Path;

// 이미지를 Firebase Storage에 업로드하는 함수
Future<String> uploadImage(File imageFile) async {
  String fileName = Path.basename(imageFile.path);
  Reference storageReference = FirebaseStorage.instance.ref().child('images/$fileName');
  UploadTask uploadTask = storageReference.putFile(imageFile);
  TaskSnapshot taskSnapshot = await uploadTask.whenComplete(() => null);
  String imageUrl = await taskSnapshot.ref.getDownloadURL();
  return imageUrl;
}

위 코드는 사용자가 업로드한 이미지 파일을 Firebase Storage에 저장하고, 해당 이미지의 다운로드 URL을 반환하는 함수입니다.

이미지 불러오기

이제, Firebase Storage에 저장된 이미지의 URL을 플러터 앱으로 불러오는 방법에 대해 알아봅시다.

import 'package:firebase_storage/firebase_storage.dart';

// 이미지의 URL을 가져오는 함수
Future<String> getImageUrl(String imagePath) async {
  String downloadURL = await FirebaseStorage.instance.ref(imagePath).getDownloadURL();
  return downloadURL;
}

위 코드는 Firebase Storage에서 이미지의 경로를 입력받아 해당 이미지의 다운로드 URL을 반환하는 함수입니다.

마치며

이제 우리는 플러터와 Firebase Storage 간에 이미지 URL을 주고받는 방법에 대해 알아보았습니다. Firebase Storage를 활용하여 사용자가 업로드한 이미지를 저장하고, 앱에서 해당 이미지를 불러올 수 있게 되었습니다.

더 많은 기능과 세부 설정에 대해서는 Firebase Storage 공식 문서를 참고하시기 바랍니다.