gpt4 book ai didi

ios - 获取文件上传者的UID

转载 作者:行者123 更新时间:2023-11-28 15:11:20 24 4
gpt4 key购买 nike

在我的应用程序的第一部分,用户可以将文件上传到列出文件的“常规” View 。我将每个文件名和 URL 分配给特定用户。然后我可以对用户进行排序并获取所有文件名。

我还实现了将文件上传到数据库中的不同文件夹。不同的文件夹是指在 TableView 中有"file"和“文件夹”。它运作良好。使用此功能,我不会将文件名和 Url 分配给特定用户。文件直接进入数据库中的特定文件夹(我不希望我的“一般” View 显示它们)。

但是,删除功能是需要的。有没有什么办法可以得到上传文件的用户的 UID(或者我可以用来将用户链接到它的任何其他东西)?我在 firebase 文档中读到我可以创建自定义元数据,但我是初学者,对此一无所知(此外,我找不到任何自定义元数据的示例)

最佳答案

上传文件时或上传文件后,您可以创建一个 StorageMetadata 对象来指定您期望的所有常用元数据,例如 contentType 和编码等. 他们还为您提供了一个名为 customMetadata 的项目,这是一个包含您想要的任何内容的字典。因此,如果您想在其中添加一个 userUID,您可以这样做:

let myMetadata = StorageMetadata()
myMetadata.customMetadata = ["userUID" : "abc123"]

拥有此元数据对象后,您可以使用存储引用来更新文件中的元数据。

let fileReference = storageReference.child("files/userImage.jpg")

fileReference.updateMetadata(metadata) { (metadata, error) in
//Check to see if you need to handle an error, etc.
}

您也可以在上传文件时执行此操作:

let fileReference = storageReference.child("files/userThumnail.jpg")

fileReference.putData(imageData, metadata: myMetadata) { (metadata, error) in
//Handle error, etc.
}

稍后,如果您需要知道附加到文件元数据的 userUID,您可以像这样访问它:

let fileReference = storageReference.child("files/userImage.jpg")

fileReference.getMetadata { (metadata, error) in
if let data = metadata, let userUID = data.customMetadata["userUID"] as? String {
//Got it. Do whatever you need with it.
print(userUID)
}
}

关于ios - 获取文件上传者的UID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47583254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com