尝试将图片上传到 Firebase 存储,但未被执行?


var img: UIImage!
if self.profileImg.image == #imageLiteral(resourceName: "add_image"){
    img = #imageLiteral(resourceName: "add_image")
}else{
    img = self.profileImg.image
}
if let  imgData = UIImageJPEGRepresentation(img, 0.2){
    print(imgData)
    let imageUid = NSUUID().uuidString
    print(imageUid)
    let metaData = StorageMetadata()
    print(metaData)
    metaData.contentType = "image/jpeg"
    DataService.ds.REF_PROFILE_IMAGES.child(imageUid).putData(imgData, metadata: metaData, completion: { (metadata, error) in
        if error != nil {
            print ("ADAM: UNABLE TO UPLOAD IMAGE TO FIREBASE STORAGE")
        }else{
            print ("ADAM: SUCCESSFULLY UPLOADED PROFILE IMAGE ")
            self.downloadURL = metaData.downloadURL()?.absoluteString

        }
    })
}else{
    print("ADAM: SUMTING WONG")
}
Auth.auth().createUser(withEmail: emailField.text!, password: passwordField.text!) { (user, error) in
    if error == nil {
        print("ADAM: You have successfully signed up")
        // saving the image to storage and link to database
        let firstName = self.firstNameField.text
        let lastName = self.LastNameField.text
        let userName = self.usernameField.text
        let profileImageUrl = self.downloadURL
        print(profileImageUrl)
        let userData = ["provider" : user!.providerID, "FirstName": firstName, "LastName": lastName, "username": userName, "profileImageURL": profileImageUrl]
        self.completeSignIn(id: user!.uid, userData: userData as! Dictionary<String, String>)

配置文件图像URL反复返回零,因此不允许我在功能中运行符号。当我调试时,我可以看到数据服务方法被跳过了,我不明白为什么:/

我正在使用它来创建用户并将用户信息存储在firebase数据库中,并在存储中图像。

func registerUser(withName: String, email: String, password: String, profilePic: UIImage, completion: @escaping (Bool) -> Swift.Void) {
        Auth.auth()?.createUser(withEmail: email, password: password, completion: { (user, error) in
            if error == nil {
                user?.sendEmailVerification(completion: nil)
                let storageRef = FIRStorage.storage().reference().child("usersProfilePics").child(user!.uid)
                let imageData = UIImageJPEGRepresentation(profilePic, 0.1)
                storageRef.putData(imageData!, metadata: nil, completion: { (metadata, err) in
                    if err == nil {
                        let path = metadata?.downloadURL()?.absoluteString
                        let values = ["name": withName, "email": email, "profilePicLink": path!]
                        FIRDatabase.database().reference().child("users").child((user?.uid)!).child("credentials").updateChildValues(values, withCompletionBlock: { (errr, _) in
                            if errr == nil {
                                let userInfo = ["email" : email, "password" : password]
                                UserDefaults.standard.set(userInfo, forKey: "userInformation")
                                completion(true)
                            }
                        })
                    }
                })
            }
            else {
                completion(false)
            }
        })
    }

相关内容

  • 没有找到相关文章

最新更新