【问题标题】:How can i change Firebase storage image file name which is already uploaded?如何更改已上传的 Firebase 存储图像文件名?
【发布时间】:2018-04-11 00:52:27
【问题描述】:
我需要更改已上传到 Firebase 存储中的文件名。因为,在 firebase 存储中上传图像后,我将 url 保存在 firebase 数据库中的特定子(文件夹)下。但是当我将图像移动到另一个子(文件夹)时,我需要根据新名称更改存储中的图像文件名。我怎样才能做到这一点? Firebase 元数据有一个 name 属性,但它是只读属性。
【问题讨论】:
标签:
ios
objective-c
firebase
firebase-storage
【解决方案1】:
您无法更改已上传到 Firebase 存储的图像的文件名。
你能做的是
第 1 步:从存储中下载给定的图像
第 2 步:使用 UIImagePNGRepresentation 或 UIImageJPEGRepresentation 方法将 UIImage 转换为数据。
第 3 步:使用所需名称 Storage.storage().reference().child("DesiredName") 创建引用
第 4 步:将数据上传到 Firebase 存储 .putData
第 5 步:从 firebase 中删除之前上传的数据。
// Create a reference to the file to delete
let desertRef = storageRef.child("desert.jpg")
// Delete the file
desertRef.delete { error in
if let error = error {
// Uh-oh, an error occurred!
} else {
// File deleted successfully
}
}