【发布时间】:2022-01-04 13:07:56
【问题描述】:
我在使用 firebase 和 flutter 时遇到了一些困难。在这段代码中,我试图创建一个用户,将图像发送到 fireStore,并将所有数据放入 firebase firestore。它正在创建用户,但由于某种原因,它要么不将数据发送到 firebase firestore,要么不将图像放入 firebase 存储。这些功能中只有一个可以工作,但不能同时使用。
当我删除代码时:
final imageRef = firebase_storage.FirebaseStorage.instance
.ref()
.child("userImage")
.child(FirebaseAuth.instance.currentUser.uid + ".jpg");
await imageRef.putFile(image);
"userImage": imageRef.getDownloadURL(), // and deleted this field from the collection
FirebaseFirestore.instance 工作正常。 当我删除这段代码时:
FirebaseFirestore.instance
.collection("User")
.doc(_authResult.user.uid)
.set({
"userName": userName,
"email": email,
"password": passWord,
"userImage": imageRef.getDownloadURL(),
});
imageRef.putFile 工作并进入存储。
因此,出于某种原因,它们以某种方式相互影响。如何使这两个功能都起作用?
这里是完整的代码:
UserCredential _authResult = await FirebaseAuth.instance
.createUserWithEmailAndPassword(email: email, password: passWord);
setState(() {
isLoading = true;
});
final imageRef = firebase_storage.FirebaseStorage.instance
.ref()
.child("userImage")
.child(FirebaseAuth.instance.currentUser.uid + ".jpg");
await imageRef.putFile(image);
FirebaseFirestore.instance
.collection("User")
.doc(_authResult.user.uid)
.set({
"userName": userName,
"email": email,
"password": passWord,
"userImage": imageRef.getDownloadURL(),
});
【问题讨论】:
标签: firebase flutter dart google-cloud-firestore firebase-storage