Warum hat die auf S3 hochgeladene Datei den Inhaltstyp application / octet-stream, es sei denn, ich benenne die Datei .html

Obwohl ich den Inhaltstyp auf text / html gesetzt habe, endet er in S3 als application / octet-stream.

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 so benenne, dass sie mit .html endet

s3.putObject(new PutObjectRequest(ARTIST_BUCKET_NAME, artistId + ".html", contentsAsStream, md));

then es funktioniert.

Ist mein MD-Objekt gerade ignoriert? Wie kann ich dies programmgesteuert umgehen, da ich im Laufe der Zeit Tausende von Dateien hochladen muss, um nicht einfach in die S3-Benutzeroberfläche zu wechseln und den contentType manuell zu korrigieren?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage