【问题标题】:Files not getting listed from google cloud storage when the folder has space between the words当文件夹在单词之间有空格时,文件未从谷歌云存储中列出
【发布时间】:2019-12-20 13:50:51
【问题描述】:

我正在使用 Laravel 5.6 并尝试列出文件夹名称 2D-3D Shapes 中的所有文件。

当我在 tinker 中运行 Storage::files('images/shapes/2D-3D Shapes') 时,结果为空,但在 Google Cloud Storage 中有文件。 所有文件都为没有空间的文件夹列出,但是当文件夹有空间时它的问题。 任何帮助将不胜感激。

【问题讨论】:

  • 您能分享一下您是如何对 Cloud Storage 进行查询的吗?你要逃离这个空间吗?
  • 我正在使用 League/flysystem-aws-s3-v3 包列出存储桶的资源。

标签: laravel google-cloud-platform filesystems google-cloud-storage storage


【解决方案1】:

Bucket and object naming guidelines 文档中所述,您不应在 Google Cloud Storage 中的文件命名中使用空格。这可能会导致与 API 的互操作性问题。作为最佳做法,您还应该避免使用任何特殊字符。

如果在调用文件时名称包含任何特殊字符,则要获取文件,名称需要按照request endpoints 中的说明进行 URI 编码

【讨论】:

  • 谢谢克里斯,我们没有为新文件夹使用任何空格,但这个问题是针对已经创建的文件夹(当时我们使用的是 ckeditor),如果我们删除空间然后数千张图片的链接将被破坏。
  • 要获取包含特殊字符或空格的文件,这些字符必须按照Request Endpoints中的说明进行转义
猜你喜欢
  • 2015-08-03
  • 2020-10-24
  • 2014-07-20
  • 2017-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-24
  • 1970-01-01
相关资源
最近更新 更多