我也遇到了這個問題,並且撰文指出,這是一個使用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文件爲文本/ CSS:
s3cmd --recursive modify --add-header='content-type':'text/css' \
--exclude '' --include '.css' s3://<your-bucket-name>/
如果您不能確定指定什麼樣的content-type
爲您的特定類型的文件,看看最常見的MIME類型名單:http://hul.harvard.edu/ois/systems/wax/wax-public-help/mimetypes.htm
我通過s3cmd命令解決了這個問題。 :) – Rajaraman 2014-10-06 11:20:06
你可以自己回答你的問題 - 它可能是值得把你如何解決答案的細節,以便其他人可以利用這些知識。 – Krease 2014-10-07 05:45:18
這是代碼s3cmd - 遞歸修改--acl-public --add-header ='Cache-Control:max-age = 94608000'--add-header ='content-type':'audio/mpeg' - -exclude'*'--include'* .mp3's3:// bucket-name/ – Rajaraman 2014-10-07 06:51:32