У меня есть более 50000 файлов (аудио, изображения, PDF) на AWS S3 Bucket. Теперь я столкнулся с проблемой с Firefox. Аудиофайл не воспроизводится в Firefox из-за их типа содержимого. До этого все работало хорошо.
Аудио файл работает хорошо, когда я меняю тип контента с двоичный / октет-поток в аудио / MPEG.
Тип содержимого по умолчанию (двоичный / октетный поток) назначается для всех существующих файлов.
Я также попробовал инструмент S3 Bucket Explorer, но нет возможности изменить тип содержимого специально для аудио файлов.
Как я могу изменить тип контента только для аудио файлов?
Есть ли пример по aws php sdk?
заранее спасибо
Я также столкнулся с этой проблемой, и, как указал автор, это способ исправить это с помощью 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
чтобы указать для вашего конкретного типа файла, посмотрите этот список наиболее распространенных типов MIME: http://hul.harvard.edu/ois/systems/wax/wax-public-help/mimetypes.htm
Других решений пока нет …