使用 Swift 将图像上传到 Firebase 3.0 后如何正确获取图像 URL

How to proper get the image URL after uploading it to Firebase 3.0 using Swift

我正在尝试在我的应用程序中显示上传到 Firebase 存储的图像,为此我想将 url 保存到 Firebase 数据库。

这是我上传到 Firebase 的方式:

            let storageRef = FIRStorage.storage().reference()
            let imagesRef = storageRef.child("images/pato.png")

            let data  = UIImagePNGRepresentation(imageSelectorImage.image!)

            let uploadTask = imagesRef.putData(data!, metadata: nil, completion: { (metadata, error) in
                if(error != nil) {
                    print("Upload error")
                } else {
                    let downloadURL = metadata!.downloadURL()

                    print("\(downloadURL)")
                }
            })

在下载中URL我得到了这样的东西https://firebasestorage.googleapis.com/v0/b/mytestapp-5a7f.appspot.com/o/images%2Fpato.png?alt=media&token=7b080333-8671-4bc2-994f-2cc9a9b76178

我测试过,我确实设法在我的应用程序中显示来自 URL 的图像,我的问题是关于 URL 中的这个令牌,将这会永远持续下去吗?(因为如果我尝试在没有令牌的情况下访问图像,那么什么也得不到。)

保存在 Firebase 数据库中是否正确url?

在此先感谢您的帮助。

下载 URL 中的令牌只是一个随机生成的字符串,使 URL 无法猜测。它不会过期,也不会绑定到任何特定的用户帐户。

因此,Firebase 文档并不关注令牌。它反而说下载 URL 是 public-but-unguessable URL.