gpt4 book ai didi

ios - 试图将图像上传到 firebase 存储但没有被执行?

转载 作者:搜寻专家 更新时间:2023-10-31 22:41:14 24 4
gpt4 key购买 nike

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 反复返回 nil,因此不允许我运行登录功能。当我调试时,我可以看到 Dataservice 方法被跳过了,我不明白为什么 :/

最佳答案

我正在使用它来创建用户并将用户信息存储在 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)
}
})
}

关于ios - 试图将图像上传到 firebase 存储但没有被执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46374802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com