如何通过扩展设置全局 mime 类型?

How to set global mime type by extension?

有没有办法为整个存储桶指定所有带扩展名的文件的 MIME 类型?

在 Apache 上托管文件时这很容易,当浏览器期望我们的字幕是 text/vtt 时它会导致问题。我每隔几个月将文件上传到存储桶一次,我会在多台计算机上使用 Rubber Ducky、web gui、gcs fuse 或 gsutil 中的任何东西。编写一个应用程序来上传具有正确 mime 类型的文件似乎是一件非常麻烦的事情。

有办法设置全局默认ACL,肯定有办法设置全局默认VTT mime。

更新

在您的 boto 配置文件的 GSUtil 部分中设置 use_magicfile=True 可以使 mime 检测更加准确,从而稍微缓解问题 https://github.com/GoogleCloudPlatform/gsutil/issues/183#issuecomment-35741417

无法在 GCS 中的存储桶上配置基于扩展的 MIME 类型。您需要更改上传文件的代码以在上传时设置 MIME 类型。

如果您只想根据扩展名修复一堆对象的 MIME 类型,您可以使用 gsutil 命令来实现,例如:

 gsutil -m setmeta -h "Content-Type:text/vtt" gs://your-bucket/**.txt