0

我的应用程序上有个人资料图片“系统”。但是当我上传图片时,它可以工作。但是当我从其他帐户上传图片时,它不起作用。当我从旧帐户中删除数据库文件并在当前帐户上从新帐户中尝试时,它可以工作。

我认为问题在于,当我上传新图片时,文档名称相同。但我不知道。

这是我的添加图片代码:

  addProfilePic(user, context) {
FirebaseFirestore.instance.collection('/profilbild').add({
  'uid': FirebaseAuth.instance.currentUser.uid,
  'photoUrl': photoUrl,
}).then((value) {
  //Navigator.of(context).pop();
  //Navigator.of(context).pushReplacementNamed('/selectpic');
}).catchError((e) {
  print(e);
});

这就是我的更改个人资料图片代码:

 Future updateProfilePic(picUrl) async {
var userInfo = new UserUpdateInfo();

await FirebaseAuth.instance.currentUser
    .updateProfile(photoURL: picUrl)
    .then((val) {
  getUserCurrent().then((user) {
    FirebaseFirestore.instance
        .collection('/profilbild')
        .where('uid', isEqualTo: FirebaseAuth.instance.currentUser.uid)
        .get()
        .then((QuerySnapshot querySnapshot) => {
              querySnapshot.docs.forEach((doc) {
                FirebaseFirestore.instance
                    .doc('/profilbild/$doc')
                    .set({'photoUrl': picUrl}).then((val) {
                  print('Profilbild aktualisiert');
                });
              })
            });

我的代码首先使用 uid 和 Profil Picture = null 在数据库中添加文档。之后,我用我的代码将配置文件图片更改为存储链接。

当我只添加图片(代码:addProfilePic)时,数据库会生成以下文档:

e

当我更新图片(代码:updateProfilPic)时,出现了以下内容:(看看文件的名称!)

r

当我想从其他帐户添加个人资料图片时,我会添加个人资料图片(代码:addProfilePic)而不是它的工作原理。它制作了如图 1 所示的文档。

在我想更新图片(代码:updateProfilePic)之后它不起作用。文件和以前一样。(如图 1 所示)没有增加,也没有改变。

我该如何解决?

4

0 回答 0