2

使用 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)

4

1 回答 1

3

gsutil 没有以这种方式重写文件名的任何机制。您可以编写一个 shell 循环来遍历文件并删除正在复制的文件名中的扩展名。

为了保留 Content-Type 这里有几个建议:

  1. 在命令行上显式设置它,例如,

    gsutil -h Content-Type:image/jpeg cp 0001/a/1.jpg gs://0001/a/1

  2. 使用 use_magicfile 配置(在 .boto 配置文件中),以使“文件”命令检测到 Content-Type。这仅适用于您在 Unix 或 MacOS 上运行。在这种情况下,您仍将使用 shell 脚本来删除文件扩展名,但您不必指定 -h Content-Type 参数:

    gsutil cp 0001/a/1.jpg gs://0001/a/1

麦克风

于 2012-09-26T22:57:56.440 回答