我正在尝试将存储的图像的url保存在数据库中,但是这样做没有成功。它似乎跳过了以下saveButton函数中的指令,因此它没有在数据库中显示任何url。
@IBAction func saveButtonClicked(_ sender: Any) {
let storageRef = Storage.storage().reference().child("profileImages").child(id!)
if let uploadData = profilePicture.image?.pngData(){
storageRef.putData(uploadData, metadata: nil) { (metadata, error) in
if error != nil{
print(error)
return
}
storageRef.downloadURL(completion: { (url, error) in
if let downUrl = url {
Database.database().reference().child("Users").child(self.id!).child("profileImageUrl").setValue(downUrl)
}
})
}
}else{
Database.database().reference().child("Users").child(self.id!).child("profileImageUrl").setValue("default")
}
self.performSegue(withIdentifier: "goToMainPage", sender: self)
}
}
答案 0 :(得分:0)
尝试替换
storageRef.downloadURL(completion: { (url, error) in
if let downUrl = url {
Database.database().reference().child("Users").child(self.id!).child("profileImageUrl").setValue(downUrl)
}
})
作者
let pat = (metadata?.downloadURL()?.absoluteString.description)
let link = pat! //Link of image
Database.database().reference().child("Users").child(self.id!).child("profileImageUrl").setValue(link)