错误。如何在Swift [duplicate]

问题描述 投票:1回答:1

我正在创建一个功能,可以将个人资料照片上传到Firebase。但是,下载网址有问题。错误[StorageMetadata类型的值没有成员'downloadURL']。请告知如何修改此代码块。作为Users类,我的签名为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个回答
0
投票

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

如果要获取下载URL,则应遵循Firebase文档中有关generating a download URL的说明。您可以在那里看到downloadURL()是StorageReference上的一种方法。您的引用位于profileImageRef中,因此您需要在其上调用downloadURL()

© www.soinside.com 2019 - 2024. All rights reserved.