gpt4 book ai didi

swift - 从 Firebase Storage 中检索一个节点下的多张照片

转载 作者:行者123 更新时间:2023-11-28 11:05:40 26 4
gpt4 key购买 nike

我有一个 CollectionView,我正在使用来自 Firebase 存储的图像来填充它。我将图像存储在“userId”节点下。我想批量检查节点下可用的文件是否存在,因此我可以将它们存储在一个数组中。

我试图分别检索每个网址,但是,我认为这是一种非常错误的方法。但是,我不知道如何以最有效的方式做到这一点以及将 collectionView.reload() 放在哪里。这就是我所做的:

let storage = FIRStorage.storage()
let firstImageRef = storage.referenceForURL("gs:storageUrl").child(uid).child("profile.jpg")

firstImageRef.downloadURLWithCompletion { (URL, error) -> Void in
if (error != nil) {
print(error)
} else {
if let url = URL {
self.databaseImagesOrder.append(url)
}
}
}

let secondImageRef = storage.referenceForURL("gs:storageUrl").child(uid).child("second_pic.jpg")
secondImageRef.downloadURLWithCompletion { (URL, error) -> Void in
if (error != nil) {
print(error)
} else {
if let url = URL {
self.databaseImagesOrder.append(url)
}
}
}

// etc..

collectionView.reloadData()

此外,以 NSData 形式获取图像是否比先获取 url 然后再获取图像更好?如果是这样,我如何从 Firebase 存储中批量检索图像?

最佳答案

目前没有向/从 Firebase 存储进行批量或成批上传/下载——我认为这里有太多问题:我们会压缩文件并以这种方式存储它们吗,我们会返回一个压缩包吗,等等。我们只是返回一组下载 URL 或适当的数据?

我们对列出和下载多个文件的问题的解决方案是单独上传它们并将 URL 存储在另一个数据库(例如 Firebase 实时数据库)中,然后您可以同步并使用它来单独下载每个文件(或者您存储下载文件并使用像 SDWebImage 这样的工具来下载或缓存适当的 URL。

参见 https://www.youtube.com/watch?v=xAsvwy1-oxE&feature=youtu.be有关我们如何做到这一点的示例。

关于swift - 从 Firebase Storage 中检索一个节点下的多张照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37840726/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com