【问题标题】:How to add images to Firebase Storage from google drive? [closed]如何从谷歌驱动器将图像添加到 Firebase 存储? [关闭]
【发布时间】:2020-08-29 21:00:07
【问题描述】:

对于我的 iOS 应用,我希望用户能够访问我提供的一组图像(但不自己添加任何图像)。但是,在应用程序发布后,我将向该集合添加更多图像,因此我认为配置它的最佳方法是将这些图像添加到 Firebase 存储(应用程序已经在使用 FirebaseAuthentication 和 Firestore)。这些图像已经在 Google Drive 上。我需要以编程方式将它们添加到 Firebase 存储,还是有更简单的方法?或者,有没有更好的方法在应用程序发布后向应用程序添加图像?谢谢!

【问题讨论】:

    标签: swift firebase firebase-storage


    【解决方案1】:

    如果您想从 Firestore Storage 提供图片,您必须自己将图片上传到 Storage。幸运的是 Drive 和 Storage 都有 API,因此复制它们应该是一件相当简单的事情。

    如果 是唯一更改图像的人,我也会考虑将它们存储在 Firebase 托管中。这使它们可以通过 Firebase Hosting 的 CDN 提供给您的应用程序,这意味着您的用户将更快地获得它们 - 对您来说,cost 会略有增加。不过,在这种情况下,您需要将文件列表存储在已知位置的某个位置,因为没有公共 API 可以在 Firebase 托管中列出文件,就像存储一样。

    【讨论】:

      【解决方案2】:

      弗兰克斯的回答是正确的,但我更多的是从物流和实施的角度考虑解决方案。我们不了解您的整个用例,因此无法给出具体答案,但让我介绍一个场景。

      1. 您有一个“管理员”应用。使用此应用,您可以拍照,然后将它们上传到存储现有图像的 Firebase 存储。这些图像的 URL 存储在 Firestore 中。可以从您的管理应用程序中添加、编辑或删除图像,当这种情况发生时,用户有权访问的图像也会被修改

      2. 用户有一个客户端应用程序。此应用允许他们根据存储在 Firestore 中的 URL 查看您上传到 Storage 的图像。

      讨论:

      客户端应用程序观察到一个名为“可用图像”的集合,看起来像这样

      Available_Images
         image_0
            image_url: "points to some storage url"
            image_name: "the name of the image"
         image_1
            image_url: "points to another storage url"
            image_name: "this image name"
      

      当您的管理应用从 Available_Images 节点添加、编辑或删除图像时,客户端应用会自动收到此更改的通知(因为它们正在观察 Available_Images 集合),因此它们有权访问的图像会自动更新。

      您可以在 Firebase 控制台中修改数据 - 将图像上传到存储,获取 URL,然后将其添加到 Available_Images,但这是一个非常手动的过程。

      拥有一个“管理”应用程序可以使该过程非常自动化;拍照,点击或点击“上传图片”按钮,所有客户都可以访问该新图片。

      只是一个想法。

      【讨论】:

        猜你喜欢
        • 2021-03-25
        • 1970-01-01
        • 2019-01-23
        • 1970-01-01
        • 2023-02-06
        • 2016-11-20
        • 1970-01-01
        • 2019-10-27
        • 1970-01-01
        相关资源
        最近更新 更多