Amazon S3 не отправляет заголовок Content-Type

У меня есть приложение, которое загружает контент из разных источников. Он опирается на заголовок "Content-Type", устанавливаемый на изображениях. Большинство веб-серверов делают это правильно, но, похоже, сервер Amazon S3 не устанавливает Content-Type.

Я предполагаю, что серверы Amazon настроены правильно, так в чем может быть проблема? Эти изображения не загружены правильно? Или я не должен полагаться на устанавливаемый тип контента?

пример

Спасибо

3 ответа

Файлы, загруженные на S3, должны содержать заголовок Content-Type. Не существует определения типа контента по умолчанию, подобного тому, которое вы можете сделать на "обычном" контент-веб-сервере (что было бы неплохо!) Для каждой папки.

Вы должны установить это.

В консоли управления aws, если вы перейдете к рассматриваемому файлу, вы можете нажать "Свойства". Затем внизу экрана на Метаданные. Если Key Content-Type установлен, измените его на желаемый, в противном случае добавьте новый Key, выберите Content-Type и установите для него соответствующее значение.

При загрузке объектов в S3 у вас есть возможность установить MIME-тип, который будет возвращаться в заголовке Content-Type клиентам. S3 не будет добавлять этот заголовок самостоятельно, поэтому, если пользователь не установил это значение, заголовок Content-Type возвращаться не будет.

HTTP-серверы не обязаны предоставлять заголовок Content-Type, поэтому я бы предложил механизм резервирования. Возможно, вы могли бы посмотреть на URL и угадать по расширению файла? Это что-то вроде хака, но это сработает в приведенном вами примере.

Другие вопросы по тегам