Amazon S3 nie wysyła nagłówka Content-Type

10

Mam aplikację, która pobiera treści z różnych źródeł. Zależy to od ustawienia nagłówka „Content-Type” na obrazach. Większość serwerów WWW robi to poprawnie, ale wygląda na to, że serwer Amazon S3 nie ustawia Content-Type.

Zakładam, że serwery Amazon są poprawnie skonfigurowane, więc jaki może być problem? Czy te obrazy nie zostały poprawnie przesłane? A może nie powinienem polegać na ustawionym typie treści?

Przykład

Dzięki


źródło
Wierzę, że możesz ustawić typ zawartości podczas przesyłania pliku do Amazon S3. Nie wiem jednak, co robi z domyślnymi nagłówkami typu zawartości. I to oczywiście nie pomaga, gdy nie są to twoje pliki.
WheresAlice
Widziałem to, ale nie mając konta, nie mogę tego wypróbować. Znajomość odpowiedzi nie rozwiązałaby mojego problemu, ale może sugerować, że obejdę się bez polegania na typie treści.

Odpowiedzi:

7

Pliki przesłane do S3 muszą poinformować nagłówek Content-Type. Nie ma domyślnej definicji typu zawartości, takiej jak te, które można wykonać na „normalnym” serwerze WWW z treścią (co nie byłoby takie złe!) Na folder.

Norberto
źródło
1

Podczas przesyłania obiektów do S3 istnieje możliwość ustawienia typu MIME, który będzie zwracany klientom w nagłówku Content-Type. S3 nie doda tego nagłówka samodzielnie, więc jeśli użytkownik nie ustawił tej wartości, nie zostanie zwrócony nagłówek Content-Type.

Serwery HTTP nie są wymagane do zapewnienia nagłówka Content-Type, więc sugerowałbym mechanizm rezerwowy. Być może mógłbyś spojrzeć na adres URL i zgadywać z rozszerzenia pliku? To trochę włamanie, ale zadziałałoby przynajmniej w podanym przykładzie.

Martin M.
źródło
1

Musisz to ustawić.

W konsoli zarządzania aws, jeśli przejdziesz do danego pliku, możesz kliknąć „właściwości”. Następnie u dołu ekranu na metadanych. Jeśli kluczowy typ zawartości jest ustawiony, zmień go na żądany, w przeciwnym razie dodaj nowy klucz, wybierz typ zawartości i ustaw odpowiednią wartość.

Decado
źródło