【问题标题】:Error. How to modify the downloadURL in Swift [duplicate]错误。如何在 Swift 中修改 downloadURL [重复]
【发布时间】:2020-04-13 05:30:01
【问题描述】:

我正在创建一个将个人资料图片上传到 Firebase 的功能。但是,我的下载 URL 有问题。错误“StorageMetadata”类型的值没有成员“downloadURL”。 请告知如何修改此代码块。作为用户类,我的签名为“ uid、用户名、电子邮件和 profilePicLink。

func uploadProfilePic(profileImage:UIImage){
       var dataBaseRef = Database.database().reference()
        let profileImageRef = Storage.storage().reference().child("profileImages")
            .child("\(NSUUID().uuidString). jpg")
        if let imageData = profileImage.jpegData(compressionQuality: 0.75){
            profileImageRef.putData(imageData,metadata:nil)
            {
                metadata, error in
                if error != nil {
                    print(error!)
                    return
                } else {
                    print(metadata!)
                    if let downloadUrl = metadata?.downloadURL()?.absoluteString{
                        if (self.profilePicLink == ""){
                            self.profilePicLink = downloadUrl
                            Database.dataBaseRef.child("users").child(self.uid).updateChildValues(["profilePicLink": downloadUrl])
                        }
                    }
                }
            }
        }
    }

【问题讨论】:

    标签: swift firebase firebase-storage


    【解决方案1】:

    错误消息告诉您metadata 变量是StorageMetadata 类型对象,没有方法调用downloadURL()

    如果您想获取下载 URL,您应该按照 Firebase 文档中针对 generating a download URL 的说明进行操作。您可以在那里看到 downloadURL() 是 StorageReference 上的一个方法。你的参考在profileImageRef,所以你需要打电话给downloadURL()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-17
      • 1970-01-01
      • 2016-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多