firebase 存储:以斜杠结尾的奇怪文件名

Posted

技术标签:

【中文标题】firebase 存储:以斜杠结尾的奇怪文件名【英文标题】:firebase storage: strange filenames ending with slash 【发布时间】:2020-08-11 14:43:16 【问题描述】:

我遇到了一个关于 Firebase 存储的非常奇怪的问题。我们的一位用户设法创建了以斜杠结尾的文件:

他声称他只使用网络控制台等,并没有做任何特别的事情。如果我尝试使用 gsutil 复制此类文件,我(显然)会收到以下错误:

正在复制图像/20610/... 跳过尝试下载到以斜杠结尾的文件名 (图像/20610/)。这 通常在使用 gsutil 从子目录下载时发生 由 Cloud Console 创建 (https://cloud.google.com/console)

扩展属性没有显示任何异常,只是这确实是一个文件名中带有斜线的文件:

    Creation time:          Mon, 27 Apr 2020 16:32:12 GMT
    Update time:            Mon, 27 Apr 2020 16:32:12 GMT
    Storage class:          STANDARD
    Content-Length:         11
    Content-Type:           text/plain
    Hash (crc32c):          XkI+Dw==
    Hash (md5):             apnFdauH+MfR7R5S5+NJzg==
    ETag:                   CL7wy46EiekCEAE=
    Generation:             1588005132499006
    Metageneration:         1

我的问题基本上是 - 这怎么可能?以及如何防止这种情况发生?

提前致谢!

【问题讨论】:

只需执行检查以查看其是否为图像,此外,检查文件类型。 ***.com/questions/889333/… 这可能会很重要 【参考方案1】:

如果您使用 Cloud Console 创建文件夹,您将获得一个名称中带有斜杠的对象。

【讨论】:

好吧,如果您仔细查看屏幕截图 - 该对象不是文件夹,而是名称中带有斜线的文件。 对不起,我之前错过了。 GCS 对对象名是否以“/”结尾没有限制;是否允许这样做以及如何解释以这种方式命名的对象是客户的选择。 gsutil 和 Cloud Console(它们是客户端)不允许创建以“/”结尾的对象。您确定您的用户没有使用其他客户端来创建对象吗? 我不能 100% 肯定,但我直接问了几次,用户确认他只使用标准的基于 Web 的云控制台...

以上是关于firebase 存储:以斜杠结尾的奇怪文件名的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess 中的重写引擎以捕获不以 html 结尾的文件

为啥 Python 的原始字符串文字不能以单个反斜杠结尾?

网络资源路径的双斜杠//和双反斜杠\的区别

URL最后结尾反斜杠(/)加与不加区别

Firebase 文本文件下载错误

Codeigniter - 当 URL 以斜杠结尾时,相对 URL 停止工作?