相关疑难解决方法(0)

Firebase 存储:使用下载 URL 而不是存储引用

我有一个用于存储图像的iOS应用程序Firebase Storage。上传图像后,我将其保存storage reference在我的Firebase Database. 当应用程序加载时,它storage references从数据库中获取各种信息并使用该FirebaseUI方法显示其相应的图像,如下所示:

let storageRef = Storage.storage().reference(forURL: imageUrl)
imageView.sd_setImage(with: storageRef, placeholderImage: nil)
Run Code Online (Sandbox Code Playgroud)

这很好用……但速度很慢。

在寻找加速解决方案时,Firebase Storage我发现这篇文章暗示使用图像的公共链接,即。它的download url,而不是它的storage referencehttps : //stackoverflow.com/a/44362350/5225013

我的理解是,这与在public urls他们面前有一个 CDN 有关,而storage references没有。

download url可以在用下面的代码应用程序中检索:

let storageRef = Storage.storage().reference(forURL: imageUrl)
storageRef.downloadURL { (downloadUrl, error) in

    if let downloadUrl = downloadUrl {
        // do something with downloadUrl
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,以这种方式获取它对我的目的来说毫无用处,因为在显示图像之前使异步调用需要额外的时间......

我一直在考虑编写一个云函数来将每个图像download …

google-cloud-storage firebase firebase-realtime-database firebaseui firebase-storage

4
推荐指数
1
解决办法
917
查看次数