如何更新存储节点 firebase swift
How to update a storage node firebase swift
我想用新文件数据更新用户uid 下的FB Storage 节点(只有一个数据文件)。使用 .putData 只是将另一个文件添加到节点中,我不确定如何使用 .update 调用,因为它使用元数据,而且我只知道如何创建 uploadData。
@objc func doneTapped() {
guard let uid = Auth.auth().currentUser?.uid else {return}
let filename = NSUUID().uuidString
let storageRef = Storage.storage().reference().child("profile_images").child(uid)
let storageFileRef = storageRef.child(filename)
guard let image = self.profileImageView.image else {return}
guard let uploadData = UIImageJPEGRepresentation(image, 0.3) else {return}
storageFileRef.putData(uploadData, metadata: nil) { (metadata, error) in
if error != nil {
print ("Couldn't upload new profile pic:", error as Any)
return
}
实际上我通过删除文件名解决了这个问题。所以在前面的例子中,我创建了一个 uid 文件夹,该文件夹中将是一个图像列表,但由于我只想存储一个图像,我将该用户 uid 设置为实际文件名,而不是要保存的文件夹的名称文件。
let storageFileRef = Storage.storage().reference().child("profile_images").child(uid)
基本上只是删除了参考文献的 .child(filename) 部分
我想用新文件数据更新用户uid 下的FB Storage 节点(只有一个数据文件)。使用 .putData 只是将另一个文件添加到节点中,我不确定如何使用 .update 调用,因为它使用元数据,而且我只知道如何创建 uploadData。
@objc func doneTapped() {
guard let uid = Auth.auth().currentUser?.uid else {return}
let filename = NSUUID().uuidString
let storageRef = Storage.storage().reference().child("profile_images").child(uid)
let storageFileRef = storageRef.child(filename)
guard let image = self.profileImageView.image else {return}
guard let uploadData = UIImageJPEGRepresentation(image, 0.3) else {return}
storageFileRef.putData(uploadData, metadata: nil) { (metadata, error) in
if error != nil {
print ("Couldn't upload new profile pic:", error as Any)
return
}
实际上我通过删除文件名解决了这个问题。所以在前面的例子中,我创建了一个 uid 文件夹,该文件夹中将是一个图像列表,但由于我只想存储一个图像,我将该用户 uid 设置为实际文件名,而不是要保存的文件夹的名称文件。
let storageFileRef = Storage.storage().reference().child("profile_images").child(uid)
基本上只是删除了参考文献的 .child(filename) 部分