
Tenho um aplicativo que baixa conteúdo de diversas fontes. Ele depende do cabeçalho "Content-Type" definido nas imagens. A maioria dos servidores web faz isso corretamente, mas parece que o servidor Amazon S3 não está configurando o Content-Type.
Presumo que os servidores Amazon estejam configurados corretamente, então qual poderia ser o problema? Essas imagens não foram carregadas corretamente? Ou não deveria confiar na definição do tipo de conteúdo?
Obrigado
Responder1
Os arquivos carregados no S3 precisam ter informado o cabeçalho Content-Type. Não existe uma definição de tipo de conteúdo padrão como as que você pode fazer em um servidor web de conteúdo "normal" (o que não seria uma má ideia!) por pasta.
Responder2
Ao fazer upload de objetos para o S3, você tem a opção de definir um tipo MIME que será retornado no cabeçalho Content-Type aos clientes. O S3 não adicionará esse cabeçalho por conta própria, portanto, se o usuário não tiver definido esse valor, nenhum cabeçalho Content-Type será retornado.
Os servidores HTTP não são obrigados a fornecer o cabeçalho Content-Type, então eu sugeriria um mecanismo de fallback. Talvez você possa olhar o URL e adivinhar a extensão do arquivo? É um pouco complicado, mas funcionaria pelo menos no exemplo que você forneceu.
Responder3
Você precisa definir isso.
No console de gerenciamento do aws, se você navegar até o arquivo em questão, poderá clicar em "propriedades". Depois, na parte inferior da tela, em Metadados. Se o Key Content-Type estiver definido, altere-o para o que desejar, caso contrário, adicione uma nova chave, selecione Content-Type e defina-o com o valor apropriado.