Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase存储是否提供唯一的Id';什么是文件?_Firebase_Storage_Firebase Storage - Fatal编程技术网

Firebase存储是否提供唯一的Id';什么是文件?

Firebase存储是否提供唯一的Id';什么是文件?,firebase,storage,firebase-storage,Firebase,Storage,Firebase Storage,因此,实时数据库为我提供了一种使用节点ID直接引用节点的方法。不过,到目前为止,我只看到Firebase存储使用文件名创建引用的示例。如果两个文件的名称相同呢?我必须阻止用户上载重复的文件名吗?URL是唯一的,但据我所知,您无法基于它创建对文件的引用。是不是有什么我遗漏了,因为我觉得这不对劲。感谢您的帮助。在Firebase存储中,上传文件时,由您确定文件名。没有为Firebase存储生成唯一文件名的内置方法(如数据库中的push()方法) 如果对同一路径有两个引用,则它们将引用Firebase

因此,实时数据库为我提供了一种使用节点ID直接引用节点的方法。不过,到目前为止,我只看到Firebase存储使用文件名创建引用的示例。如果两个文件的名称相同呢?我必须阻止用户上载重复的文件名吗?URL是唯一的,但据我所知,您无法基于它创建对文件的引用。是不是有什么我遗漏了,因为我觉得这不对劲。感谢您的帮助。

在Firebase存储中,上传文件时,由您确定文件名。没有为Firebase存储生成唯一文件名的内置方法(如数据库中的
push()
方法)

如果对同一路径有两个引用,则它们将引用Firebase存储中的同一文件


如果您想要全局唯一的文件名,您必须自己生成这些文件名。一种方法是使用Firebase数据库的
push()
方法,但您也可以将其用于您选择的平台。

我明白了,我现在的计划是将原始文件名()连同标记等一起推送到实时数据库中的元数据分支,然后使用生成的文件名密钥并将其上载到存储器。@Frank,我在CloudFireStore中没有看到这个push()方法。Firestore有这样的方法吗?参见Ohh,参考有“id”!!!太酷了!!谢谢:)使用时间戳作为文件名存储这些文件是否是一个好的选择,这样就不会有两个文件名相同??是的。。。几乎。(它通过元数据MD5实现)<代码>“目前,在上传时设置md5Hash属性不会影响上传,因为尚未实现哈希验证。”