inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Flutter로 SNS 앱 만들기

Firebase Storage 에 게시글 이미지 저장

게시글등록화면_5Firebase Storage에 게시글 이미지 저장

해결된 질문

86

vadain2000

작성한 질문수 83

0

이해가 잘 안돼서 다시 문의 드려요.동영상을 되풀이 해서 봐도 이해가 잘 안돼서요.

String feedId = Uuid().v1();

feedid는 고유한 아이디 부여하는거고, 아래요 feeds는 폴더인데 .doc(feedid)를 게시글의 feedid를 부여 하는겁니까

캡처.PNG

 

// firestore 문서참조

DocumentReference<Map<String, dynamic>> feedDocRef =

firebaseFirestore.collection('feeds').doc(feedId);

 

여기서 feedDocRef는 여기서 어느것을 말하는겁니까

캡처1.PNG

 잘 이해가 안돼서요.

flutter android firebase dart

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

vadain2000님, Firebase Firestore와 관련된 질문이시네요. 답변을 드리기 전에, 기존의 유사한 질문과 답변이 있어 도움이 되실 것 같아 관련 URL을 함께 안내드리겠습니다.

이 질문에서 다룬 내용과 상당히 유사한 부분들이 있어 참고하시면 도움이 되실 거예요.

요약 및 설명

고유한 feedId 생성

String feedId = Uuid().v1();

이 코드는 Uuid 패키지를 사용하여 고유한 feedId를 생성합니다. 각 피드 문서가 고유한 ID를 갖게 하기 위해 사용됩니다.

Firestore에 문서 참조 생성

DocumentReference<Map<String, dynamic>> feedDocRef = 
    firebaseFirestore.collection('feeds').doc(feedId);

여기서 feedDocRef는 다음을 의미합니다:
- firebaseFirestore.collection('feeds'): Firestore의 “feeds” 컬렉션을 참조합니다.
- .doc(feedId): 위에서 생성한 고유한 feedId를 사용하여 새로운 문서를 지정합니다. 이는 “feeds” 컬렉션 내에 feedId라는 이름의 문서를 참조하게 됩니다.

이미지 참조 생성

Reference ref = firebaseStorage.ref().child('feeds').child(feedId);

이 코드는 Firebase Storage에서 이미지가 저장될 경로를 참조합니다. 여기서 feedId는 이미지가 저장될 폴더 이름이 됩니다.

데이터베이스 저장 예제

다음과 같이 FeedModel 객체를 만들어 데이터베이스에 저장할 수 있습니다:

FeedModel feedModel = FeedModel(
  uid: uid,
  feedId: feedId,
  desc: desc,
  imageUrls: imageUrls,
  likes: [],
  commentCount: 0,
  likeCount: 0,
  creatAt: Timestamp.now(),
  writer: someUserModel,
);

await feedDocRef.set(feedModel.toMap());
  • feedDocRef.set(feedModel.toMap()): 위에서 생성한 feedDocRef 참조를 사용하여, FeedModel 객체를 Firestore에 저장합니다.

이미지 URI 예제

예를 들어, Firestore에서 feeds 컬렉션의 문서들에 있는 imageUrls 필드를 참조하여 각 이미지의 위치를 URI로 저장합니다. (이미지 URL 목록은 Google Cloud Storage에 있는 이미지들의 주소입니다.)

위 설명을 참고하시어 코드와 데이터를 적절히 연결해 보시면 좋을 것 같습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

실수로 파이어프로젝트를 삭제하여 다시 살렸는데 profile screen이 에러입니다

0

174

1

파이어베이스 연동 중 Auth 및 ImagePicker 오류 발생, 도움 요청드립니다.

0

188

2

파이어베이스에서 실수로 강의프로젝트를 실수로 삭제하였습니다.도와주세요

0

212

2

파이어베이스 스토리지 설정에 프로젝트 업그레이드 라고 뜨는데 어떻게 하면됩니까

0

261

1

이거는 왜그렇죠

0

182

1

셋팅에 문제가생겼네요

0

165

2

마치면서 에러가 댓글가져오기와 좋아요 리스트 가져오기 에러

0

125

1

섹션15페이징기능_4프로필 화면에 페이징 적용

0

111

1

섹션15페이징기능_3좋아요 목록 화면에 페이징 적용

0

198

1

섹션14페이징기능_1게시글 목록 화면에 페이징 적용 feed_repository.dart에러

0

125

1

11셕션에서 좋아요.강의코드에서 좋아요 업데이트 문제 제대로 수정된건가요

0

131

1

12댓글화면_3댓글정보 가져오기

0

244

2

11댓글화면_댓글 정보 가져오기에서 콘솔에 commentList못찍고 있어요

0

95

1

섹션11 좋아요 목록화면에서 콘솔에서 FeedModel 데이터를 못가지고 있어요

0

101

1

섹션11 좋아요.누른 게시글 정보를 화면에표시에서 Exception 왜 발생합니까

0

158

0

Storage사용..?

0

951

2

10 게시물 화면에서 조금헷갈려서요

0

154

2

게시글 이미지 슬라이드 기능추가 carouselslider에러가 났습니다

0

156

1

섹션8 게시글 정보 화면에 표시

0

123

1

섹션8 게시글 정보가져오기

0

135

1

섹션8 게시글 정보 가져오기

0

98

1

섹션8 게시글 정보 가져오기 feedModel를 못받아오는것 같습니다.

0

139

1

메인화면에서 뒤로가기 눌렀을때 어플종료관련 건

0

203

1

섹션8 게시글 정보가져오기

0

175

2