【问题标题】:Firebase Storage Overwriting FilesFirebase 存储覆盖文件
【发布时间】:2019-06-24 07:56:18
【问题描述】:

我的程序中有小错误。

我的应用中有 Firebase 存储。我想让用户上传图片到存储。

问题是当用户上传图片然后尝试上传另一张图片时。程序的作用是覆盖之前上传的图像。

我想要的是在用户想要上传另一张图片时避免“覆盖”。并将两张图片保存在不同的文件中

let currentUser = Auth.auth().currentUser
    let StorageRefrenece = Storage.storage().reference()
    let posterImageRef =
        StorageRefrenece.child("posters").child(currentUser!.uid).child("posterOne.jpg")

谢谢

【问题讨论】:

  • 嗨 Gustavo,如果您知道它是新图像,您也可以在替换文件之前将其删除:“await ...child("posterOne.jpg").delete(); ... child("posterOne.jpg").putData(replacementData); "

标签: swift firebase firebase-storage


【解决方案1】:

发生这种情况是因为您使用相同的名称存储它们。在 Firebase 存储中,您是负责决定文件名称的人,没有“.childByAutoId()”。

如果你想拥有不同的文件,你可以创建随机值来命名它们,这里有很好的解释:How does one generate a random number in Apple's Swift language?

您的最终代码应如下所示:

StorageRefrenece.child("posters").child(currentUser!.uid).child(<#Any Random Value#>)

【讨论】:

  • 谢谢,我使用了 .child(UUID().uuidString) 所以生成随机名称。
猜你喜欢
  • 2017-05-09
  • 2016-10-10
  • 2016-12-24
  • 2017-05-16
  • 2020-11-16
  • 2021-04-04
  • 1970-01-01
  • 2017-09-09
  • 1970-01-01
相关资源
最近更新 更多