图片网址上传和下载Firebase数据库Xcode

时间:2020-07-20 16:37:48

标签: swift firebase image-processing download firebase-storage

我真的需要帮助修复一些错误,这些错误可能是由于更新的swift和firebase版本导致了许多错误。第一个出现在第一个注释之后,错误显示为:

“无法将类型'((User ?, Error?)->()'的值转换为预期的参数类型'AuthDataResultCallback?' (又名'Optional <(Optional,Optional)->()>')”和“无法对'Auth'类型的非可选值使用可选链接”

下一个包含错误信息:

“类型为'StorageMetadata'的值没有成员'downloadURL'”

对于上下文,我正在遵循一个教程,该教程显示了过去有效的代码,但我想它目前不起作用。目标是将图像从相机胶卷上传到firebase数据库,然后检索图像URL。

(时间戳27:04):“ https://www.youtube.com/watch?v=OEUeGuBnNAs&list=PLaXWdRaxFtVcgioOVP6UxFt43KQ6Gjur_&index=14”

如果您能找到任何解决方案,请事先感谢您,我可以将其发送给本教程中的其他所有人,因此希望我们可以为其他任何问题的人士提供帮助。谢谢!

@IBAction func signUpBtn_TouchUpInside(_ sender: Any) {
        /* */Auth.auth()?.createUser(withEmail: emailTextField.text!, password: passwordTextField.text!, completion: { (user: User?, error: Error?) in
             if error != nil {
                 print(error!.localizedDescription)
                 return
             }
             let uid = user?.user.uid
             let storageRef = Storage.storage().reference(forURL: "gs://instagramclone-fc544.appspot.com").child("profile_image").child(uid!)
             if let profileImg = self.selectedImage, let imageData = profileImg.jpegData(compressionQuality: 0.1) {
                storageRef.putData(imageData, metadata: nil, completion: { (metadata, error) in
                 if error != nil {
                     return
                 }
              let profileImageUrl = /* */metadata?.downloadURL()?.absoluteString
    
              self.setUserInfomation(profileImageUrl: profileImageUrl!, username: self.usernameTextField.text!, email: self.emailTextField.text!, uid: uid!)
             })
             }
         })
     }

0 个答案:

没有答案