在我的iOS应用中,用户可以上传配置文件图片,这些图片会上传到Firebase中的存储空间。我已将配置文件图片的URL保存到数据库中,因此我可以使用以下代码知道哪些URL对应于哪些用户:
let storageRef = FIRStorage.storage().reference()
let fileRef = storageRef.child("pages/").child(UUID().uuidString + ".jpg")
_ = fileRef.put(UIImageJPEGRepresentation(image, 0.75)!, metadata: nil) { (metadata, error) in
if let error = error {
SCLAlertView().showError("Error", subTitle: error.localizedDescription)
return
} else {
let downloadURL = metadata!.downloadURL()
let dictionary: [String: Any] = ["UserID": uid, "PageName": self.pageTitle.text!, "PFPURL": downloadURL!, "Tags": self.tags, "Likes": [uid]]
let reference = FIRDatabase.database().reference().child("Pages").childByAutoId()
reference.setValue(dictionary, withCompletionBlock: { (error, ref) in
if let error = error {
SCLAlertView().showError("Error", subTitle: error.localizedDescription)
return
}
self.performSegue(withIdentifier: "setupComplete", sender: self)
})
}
}
但是,我希望这些图片可以编辑。是否有可能我可以替换storageRef中的图像但仍然保持相同的URL?如果是这样,我将如何实现这一目标?谢谢!
答案 0 :(得分:1)
您无法保留相同的下载网址。编辑照片时,您需要将数据库中“PFPURL”的值更新为新URL。