Вы используете riversRef
для putData
и downloadURL
, хотя эта ссылка на хранилище в настоящее время указывает на дочерний элемент, на который ссылается profile.png
. Глядя на ваш код, вы должны вместо этого использовать profileRef
(и добавлять тип файла, например, .png
).
Таким образом, ваш код будет выглядеть так:
let storage = Storage.storage()
if let fbProfilePicture = profilePic?.jpegData(compressionQuality: 0.4) {
let storageRef = Storage.storage().reference().child("images")
let data = Data()
let userID = Auth.auth().currentUser!.uid
print(userID)
let filename = userID + ".png"
var profileRef = storageRef.child(filename)
let uploadTask = profileRef.putData(fbProfilePicture, metadata: nil) { (metadata, error) in
guard let metadata = metadata else {
// Uh-oh, an error occurred!
print(error)
return
}
}
print("Entered")
profileRef.downloadURL { (url, error) in
print(url)
self.db.collection("customUser").document(userID).setData(["Name": self.userName, "password": self.password, "Email": self.email, "DateCreated": formattedDate, "imageURL": url?.absoluteString])
guard let downloadURL = url else {
// Uh-oh, an error occurred!
return
}
}
}