【问题标题】:How to update an image in firebase storage?如何更新 Firebase 存储中的图像?
【发布时间】:2021-07-18 22:22:10
【问题描述】:

我正在开发一个带有 Angular 的图片库应用,我希望能够对每张图片及其描述执行 CRUD 操作。我的图片存储在 firebase 存储,描述和图片 URL 存储在 Firestore。

我需要能够更新图像,然后,我将更改传递给前端的图像 URL,但我只知道 上传 strong> 图像方法。

更新存储中的图像的最佳做法是什么?

我想到了一种解决方法,我可以删除旧图像并上传新图像,但我希望有更好的方法和正确的方法。

【问题讨论】:

    标签: angular firebase google-cloud-firestore firebase-storage


    【解决方案1】:

    其实有一个更新方法。有时 Firebase Firestore 数据库会在图像更新之前更新,因此需要在此 Firebase 存储 put 方法完成后运行 Firestore 函数。所以需要使用future方法:

    void uploadToStorage(CurrentUser user) {
      final dateTime = DateTime.now();
      final userId = user.id;
      final path = '$userId/$dateTime';
      uploadImage(
        onSelected: (file) {
          fb
              .storage()
              .refFromURL('gs://your-app.appspot.com/')
              .child(path)
              .put(file)
              .future
              .then((_) {
            FirebaseFirestore.instance
                .collection('users')
                .doc(user.id)
                .update({'photo_url': path});
          });
        },
      );
    

    此代码是从 Github repo 中提取的,如果您想深入了解的话。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-10
      • 2019-10-27
      • 2017-08-10
      • 2018-01-16
      • 2020-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多