
Ich habe eine Anwendung, die Inhalte aus verschiedenen Quellen herunterlädt. Sie basiert darauf, dass der Header „Content-Type“ für Bilder festgelegt ist. Die meisten Webserver machen das richtig, aber es scheint, dass der Amazon S3-Server den Content-Type nicht festlegt.
Ich gehe davon aus, dass die Amazon-Server richtig konfiguriert sind. Wo liegt also das Problem? Werden diese Bilder nicht richtig hochgeladen? Oder sollte ich mich nicht darauf verlassen, dass der Inhaltstyp festgelegt ist?
Danke
Antwort1
Auf S3 hochgeladene Dateien müssen den Content-Type-Header informiert haben. Es gibt keine Standard-Content-Type-Definition wie die, die Sie auf einem „normalen“ Content-Webserver (was keine so schlechte Idee wäre!) pro Ordner vornehmen können.
Antwort2
Beim Hochladen von Objekten in S3 haben Sie die Möglichkeit, einen MIME-Typ festzulegen, der im Content-Type-Header an die Clients zurückgegeben wird. S3 fügt diesen Header nicht selbst hinzu. Wenn der Benutzer diesen Wert nicht festgelegt hat, wird kein Content-Type-Header zurückgegeben.
HTTP-Server müssen den Content-Type-Header nicht bereitstellen, daher würde ich einen Fallback-Mechanismus vorschlagen. Vielleicht könnten Sie sich die URL ansehen und anhand der Dateierweiterung raten? Das ist ein bisschen ein Hack, aber es würde zumindest in dem von Ihnen angegebenen Beispiel funktionieren.
Antwort3
Dies müssen Sie einstellen.
Wenn Sie in der AWS-Verwaltungskonsole zur betreffenden Datei navigieren, können Sie auf „Eigenschaften“ klicken. Klicken Sie dann unten auf dem Bildschirm auf „Metadaten“. Wenn der Schlüsselinhaltstyp festgelegt ist, ändern Sie ihn nach Wunsch. Andernfalls fügen Sie einen neuen Schlüssel hinzu, wählen Sie den Inhaltstyp aus und legen Sie ihn auf den entsprechenden Wert fest.