我在AWS S3 bucket上有超过50000个文件(音频,图像,pdf)。现在我遇到了firefox的问题。由于其内容类型,音频文件无法在Firefox上播放。在它运作良好之前。
当我将内容类型从 binary / octet-stream 更改为 audio / mpeg 时,音频文件效果很好。
为所有现有文件分配默认内容类型(二进制/八位字节流)。
我也尝试过s3 bucket explorer工具,但没有选项可以更改内容类型专门用于音频文件。
如何更改音频文件的内容类型?
有没有aws php sdk的例子?
提前致谢
答案 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