我正在尝试创建一个应用,用户可以将文件上传到“墙”。这个想法并不重要。在用户的配置文件下,每个文件都作为[fileName:url]添加到存储和数据库中。由于数据库中字符串的限制,我保留没有扩展名的文件名(不能使用点符号)。上传工作正常,但我有删除问题。基于用户在app中删除的文件我得到文件名(没有扩展名)。我的删除功能应该从存储中删除文件,但由于缺少扩展名,它无法找到文件。 我使用此功能上传数据:
let uploadTask = ref.putData(contents as Data, metadata: myMetadata, completion: { (metadata, error) in ...}
和文件本身:
let contents = try Data(contentsOf: url.standardizedFileURL)
是否可以在没有扩展名的情况下上传“内容”?或许还有另一种方法我不知道?
感谢您的提示。
答案 0 :(得分:0)
将随机内容(包括文件)的名称存储为实时数据库中的键并不是一个好主意。您可以通过在数据库中的某个位置为每个上载的文件推送一个对象来使自己更容易。推送的对象可以包含存储中文件的名称和位置,以及有关该文件的任何其他元数据,只要它存储在值而不是键中,您就不必破坏该数据。