将下载的Gif存储在Firebase中

时间:2019-05-16 18:33:06

标签: ios swift firebase google-cloud-firestore gif

我正在使用Giphy APIFLAnimatedImage存储库来获取和显示gif。有没有一种方法可以将选定的gif存储到firebasefirestore中,以便以后保存?

我的原因是避免繁琐的重新下载gif任务。会存储Data对象的字节吗?

我知道我可以只存储gif网址,然后在需要gif时查询字符串并重新下载,但是我希望如果有办法,可以再次避免这种情况。

任何指导将不胜感激。

let url = URL(string: gifUrlString)!
let imageData = try? Data(contentsOf: url)
let image = FLAnimatedImage(animatedGIFData: imageData)

1 个答案:

答案 0 :(得分:0)

您可以存储图像数据

let imageData = try? Data(contentsOf: url)

Firebase putData function

,但是您仍然需要使用firebase getData重新下载它,因此您可以使用CoreData / Realm在您的应用程序中创建一个简单的数据库结构,将每个gif语句与其下载时间戳相关联,然后将其上传到Firebase并更新您的本地数据库这些数据

顺便说一句避免使用Data(contentsOf,因为它会阻塞主线程直到获取日期,因此请在后台线程中使用它