使用 gsutil 复制文件时有什么方法可以删除文件扩展名?
From local 0001:
0001/a/1.jpg
0001/b/2.png
To bucket 0002:
gs://0002/a/1
gs://0002/b/2
(我可以在本地删除扩展,但复制到 GS 时会丢失 Content-Type)
使用 gsutil 复制文件时有什么方法可以删除文件扩展名?
From local 0001:
0001/a/1.jpg
0001/b/2.png
To bucket 0002:
gs://0002/a/1
gs://0002/b/2
(我可以在本地删除扩展,但复制到 GS 时会丢失 Content-Type)
gsutil 没有以这种方式重写文件名的任何机制。您可以编写一个 shell 循环来遍历文件并删除正在复制的文件名中的扩展名。
为了保留 Content-Type 这里有几个建议:
在命令行上显式设置它,例如,
gsutil -h Content-Type:image/jpeg cp 0001/a/1.jpg gs://0001/a/1
使用 use_magicfile 配置(在 .boto 配置文件中),以使“文件”命令检测到 Content-Type。这仅适用于您在 Unix 或 MacOS 上运行。在这种情况下,您仍将使用 shell 脚本来删除文件扩展名,但您不必指定 -h Content-Type 参数:
gsutil cp 0001/a/1.jpg gs://0001/a/1
麦克风