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

Posted

技术标签:

【中文标题】Firebase 和 Swift:如何使用另一个数据库来存储更大的文件?【英文标题】:Firebase & Swift: How to use another database for storing larger files? 【发布时间】:2016-06-06 21:50:26 【问题描述】:

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

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

我的印象是 AWS S3 是我最好的选择。任何帮助表示赞赏!

【问题讨论】:

【参考方案1】:

这个问题之前有人问过,有很多解决方案。这是一个“意见”类型的问题,但这里有几个选项。

View and store images in Firebase

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

如果你想去外部:

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

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

我对@9​​87654323@ 的经验为零,但它也可能是一种选择。

每个选项都有自己的 API。

通常,您会在 firebase 节点中存储指向相关图像/对象的链接。但是,其机制差异很大,因为与 CloudKit/CoreData 的接口将不同于 Filepicker。

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

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

如果您需要编码/解码方面的帮助,请参阅此问题的答案

Swift2 retrieving images from Firebase

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

【讨论】:

以上是关于Firebase 和 Swift:如何使用另一个数据库来存储更大的文件?的主要内容,如果未能解决你的问题,请参考以下文章

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

如何使用swift更新firebase中的令牌?

Firebase 和 Swift 如何按子值提取特定记录?

如何在 UILabel 中显示名字?我正在使用 Firebase 和 Swift 开发 IOS 应用程序

如何使用 Firebase 云功能向客户端(Swift)发送条带响应

即使关闭应用程序,如何保持用户登录?我正在使用 swift 3 和 Firebase