Ich habe eine Anwendung, die Inhalte aus verschiedenen Quellen herunterlädt. Es basiert auf dem Header "Content-Type", der für Bilder festgelegt wird. Die meisten Webserver tun dies korrekt, aber es scheint, dass der Amazon S3-Server den Inhaltstyp nicht festlegt.
Ich gehe davon aus, dass Amazon-Server korrekt konfiguriert sind. Woran könnte das liegen? Werden diese Bilder nicht korrekt hochgeladen? Oder sollte ich mich nicht darauf verlassen, dass der Inhaltstyp festgelegt wird?
Vielen Dank
Antworten:
Auf S3 hochgeladene Dateien müssen den Content-Type-Header informiert haben. Es gibt keine Standarddefinition für den Inhaltstyp, wie Sie sie auf einem "normalen" Inhaltswebserver (was keine so schlechte Idee wäre!) Pro Ordner durchführen können.
quelle
Beim Hochladen von Objekten in S3 haben Sie die Möglichkeit, einen MIME-Typ festzulegen, der im Content-Type-Header an Clients zurückgegeben wird. S3 fügt diesen Header nicht alleine 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? Es ist ein bisschen wie ein Hack, aber es würde zumindest in dem Beispiel funktionieren, das Sie bereitgestellt haben.
quelle
Sie müssen dies einstellen.
Wenn Sie in der aws-Verwaltungskonsole zu der betreffenden Datei navigieren, können Sie auf "Eigenschaften" klicken. Dann am unteren Bildschirmrand auf Metadaten. Wenn der Schlüsselinhaltstyp festgelegt ist, ändern Sie ihn nach Ihren Wünschen. Andernfalls fügen Sie einen neuen Schlüssel hinzu, wählen Sie Inhaltstyp aus und setzen Sie ihn auf den entsprechenden Wert.
quelle