Firebase & Swift:如何使用另一个数据库来存储更大的文件?

Firebase & Swift: How to use another database for storing larger files?

我目前正在尝试在 swift 中构建一个聊天应用程序,同时使用 Firebase 进行实时消息传递。我唯一的问题是我希望用户发送图像,我希望他们拥有带图像的配置文件,但我知道 Firebase 的存储空间有限(或者至少每个付费层的存储空间对于你获得的连接数来说是低的)

所以我想知道如何连接另一个数据库并在需要时在两者之间进行调用。因此,当在消息中发送图像时,Firebase 不会存储图像,而是将 URL 存储到另一个数据库中的图像。

我觉得 AWS S3 之类的东西是我最好的选择。感谢您的帮助!

这个问题以前有人问过,有很多解决方案。这是一个 'opinion' 类型的问题,但这里有一些选项。

View and store images in Firebase

Firebase 有 10Mb 的容量,足以容纳许多图像。然而,如果你需要更大的,它们可以很容易地编码为 base64 并分成块。

如果你想去外部:

s3 或 Filepicker (Filestack) 以及 Google 提供一些选项。

不确定总体要求,但显然您可以深入研究 CloudKit / CoreData,甚至 Dropbox 也提供 API.

我对 Box 的经验为零,但它也可能是一个选项。

每个选项都有自己的 API。

一般来说,您会在 firebase 节点中将 link 存储到相关的 image/object。然而,这种机制差异很大,因为与 CloudKit/CoreData 的接口与 Filepicker 的接口不同。

使用 CoreData,您将不得不推出自己的引用方案,而使用 Filepicker,您几乎可以直接引用文件。

其中许多服务都提供免费或低成本的试用,您可以在几分钟内编写一些代码来测试功能,看看它是否能满足您的要求。

如果您需要帮助encoding/decoding,请参阅此问题的答案

一旦你开始滚动,如果你有问题post在另一个问题中的一些代码。