У меня есть приложение, которое скачивает контент из разных источников. Он полагается на заголовок Content-Type, устанавливаемый для изображений. Большинство веб-серверов делают это правильно, но похоже, что сервер Amazon S3 не устанавливает Content-Type.
Я предполагаю, что серверы Amazon настроены правильно, так в чем может быть проблема? Эти изображения загружены неправильно? Или мне не следует полагаться на устанавливаемый тип контента?
Спасибо
Файлы, загруженные в S3, должны содержать информацию в заголовке Content-Type. Не существует определения типа контента по умолчанию, подобного тем, которые вы можете сделать на «обычном» веб-сервере контента (что было бы неплохо!) Для каждой папки.
Вам нужно установить это.
В консоли диспетчера aws, если вы перейдете к нужному файлу, вы можете щелкнуть «свойства». Затем в нижней части экрана на Метаданные. Если установлен Key Content-Type, измените его на то, что вы хотите, в противном случае добавьте новый Key, выберите Content-Type и установите для него соответствующее значение.
При загрузке объектов в S3 у вас есть возможность установить тип MIME, который будет возвращаться клиентам в заголовке Content-Type. S3 не будет добавлять этот заголовок сам по себе, поэтому, если пользователь не установил это значение, заголовок Content-Type не будет возвращен.
HTTP-серверы не обязаны предоставлять заголовок Content-Type, поэтому я бы предложил запасной механизм. Возможно, вы могли бы взглянуть на URL-адрес и угадать расширение файла? Это немного похоже на взлом, но он будет работать, по крайней мере, в приведенном вами примере.