如何仅为音频文件更改AWS S3内容类型

时间:2014-10-05 09:47:18

标签: php amazon-web-services amazon-s3

我在AWS S3 bucket上有超过50000个文件(音频,图像,pdf)。现在我遇到了firefox的问题。由于其内容类型,音频文件无法在Firefox上播放。在它运作良好之前。

当我将内容类型从 binary / octet-stream 更改为 audio / mpeg 时,音频文件效果很好。

为所有现有文件分配默认内容类型(二进制/八位字节流)。

我也尝试过s3 bucket explorer工具,但没有选项可以更改内容类型专门用于音频文件

如何更改音频文件的内容类型?

有没有aws php sdk的例子?

提前致谢

1 个答案:

答案 0 :(得分:4)

我也遇到了这个问题,正如作者所指出的,这是使用s3cmd工具修复它的方法:

s3cmd --recursive modify                             \ 
    --acl-public                                     \
    --add-header='Cache-Control: max-age=94608000'   \
    --add-header='content-type':'audio/mpeg'         \
    --exclude '' --include '.mp3'                    \
    s3://<your-bucket-name>/                         \

--recursive modify标志告诉s3cmd回到你的桶中并查找要修改的所有文件; --acl-public打开已修改的文件以供公共访问; --add-header='Cache-Control设置缓存可以保留文件的时间量(以秒为单位)(因此,如果文件未更改,则从存储桶获取文件的人不需要再次下载它)。 --exclude '' --include 'mp3'指示s3cmd从进程中排除所有文件,但与指定模式匹配的文件除外。这是另一个示例,将存储桶中的所有css文件设置为text / css:

s3cmd --recursive modify --add-header='content-type':'text/css' \
      --exclude '' --include '.css' s3://<your-bucket-name>/

如果您不确定要为特定类型的文件指定哪种content-type,请查看最常见的mimetypes列表:http://hul.harvard.edu/ois/systems/wax/wax-public-help/mimetypes.htm