Obwohl ich den Inhaltstyp auf text/html setze, landet er als application/octet-stream auf S3.Warum hat die hochgeladene Datei den Inhaltstyp application/octet-stream, es sei denn, ich benenne die Datei .html
ByteArrayInputStream contentsAsStream = new ByteArrayInputStream(contentAsBytes);
ObjectMetadata md = new ObjectMetadata();
md.setContentLength(contentAsBytes.length);
md.setContentType("text/html");
s3.putObject(new PutObjectRequest(ARTIST_BUCKET_NAME, artistId, contentsAsStream, md));
Wenn ich die Datei jedoch benennen, so dass es mit .html es funktioniert
endets3.putObject(new PutObjectRequest(ARTIST_BUCKET_NAME, artistId + ".html", contentsAsStream, md));
dann.
Wird mein MD-Objekt ignoriert? Wie kann ich das programmatisch umgehen? Im Laufe der Zeit muss ich Tausende von Dateien hochladen, damit ich nicht einfach in die S3-Benutzeroberfläche wechseln und den contentType manuell korrigieren kann.
Wie überprüfen Sie den Inhaltstyp? In AWS S3 UI oder API? Wenn per API können Sie den Code einfügen. Verwenden Sie die neueste Version von AWS SDK? Wenn ja, kannst du es mit einem versuchen. – Jakozaur
Ich überprüfe Inhaltstyp, indem ich den Inhaltstyp in einem Webbrowser innerhalb der S3-Konsole –
schaue, der aws Version 1.9.6 benutzt, die ich das späteste –