swift - 如何更新存储节点 firebase swift

标签 swift firebase storage

我希望用新文件数据更新用户 uid 下的 FB 存储节点(它只有一个数据文件)。使用 .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) 部分

关于swift - 如何更新存储节点 firebase swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52108658/

相关文章:

Swift:比较 if 语句中 2 个对象的位置不起作用?

ios - SetSDK 如何在用户离开家时得到通知?

c - string.withCString 和 UnsafeMutablePointer(变异 : cstring) wrapped into a function

ios - Firebase iOS swift : Updating TableView After Removing A Child

java - 如何在Firebase实时数据库中使用onChildRemoved?

ios - 没有更多上下文,表达式类型不明确

javascript - 使用 Node.js 将 json 文件写入 Firebase?

docker - Kubernetes - 动态配置存储

javascript - 在 sessionStorage.setitem 中存储值时仅获取最后输入的值

xml - 在内部,Postgres 如何存储 XML 数据?