Amazon S3 não está enviando cabeçalho do tipo de conteúdo

10

Eu tenho um aplicativo que baixa conteúdo de várias fontes. Ele se baseia no cabeçalho "Tipo de conteúdo" que está sendo definido nas imagens. A maioria dos servidores da Web faz isso corretamente, mas parece que o servidor Amazon S3 não está definindo o Tipo de conteúdo.

Presumo que os servidores da Amazon estejam configurados corretamente. Qual poderia ser o problema? Essas imagens não foram enviadas corretamente? Ou não devo confiar no tipo de conteúdo que está sendo definido?

Exemplo

obrigado


fonte
Acredito que você possa definir o tipo de conteúdo ao fazer o upload do arquivo para o Amazon S3. Eu não sei o que ele faz sobre os cabeçalhos de tipo de conteúdo padrão. E isso obviamente não ajuda quando não são seus arquivos.
precisa saber é o seguinte
Eu vi isso, mas como não tenho uma conta, não posso experimentar. Saber a resposta não resolveria o meu problema, mas isso poderia sugerir que eu resolvesse não depender do tipo de conteúdo.

Respostas:

7

Os arquivos carregados no S3 precisam ter informado o cabeçalho do tipo de conteúdo. Não há uma definição de tipo de conteúdo padrão como as que você pode fazer em um servidor da Web de conteúdo "normal" (o que não seria uma má idéia!) Por pasta.

Norberto
fonte
1

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 para clientes. O S3 não adicionará esse cabeçalho por si próprio; portanto, se o usuário não tiver definido esse valor, nenhum cabeçalho de Tipo de Conteúdo será retornado.

Servidores HTTP não são obrigados a fornecer o cabeçalho Content-Type, portanto, sugiro um mecanismo de fallback. Talvez você possa olhar para o URL e adivinhar a partir da extensão do arquivo? É um pouco complicado, mas funcionaria no exemplo que você forneceu pelo menos.

Martin M
fonte
1

Você precisa definir isso.

No console de gerenciamento do aws, se você procurar o arquivo em questão, poderá clicar em "propriedades". Em seguida, na parte inferior da tela, em Metadados. Se o Tipo de Conteúdo da Chave estiver definido, altere-o para o que você deseja; caso contrário, adicione uma nova Chave, selecione Tipo de Conteúdo e defina-o com o valor apropriado.

Decado
fonte