Por que o arquivo carregado no S3 tem o tipo de conteúdo application / octet-stream, a menos que eu nomeie o arquivo .html
Mesmo que eu defina o tipo de conteúdo como text / html, ele acaba como application / octet-stream no S3.
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));
Se, no entanto, eu nomear o arquivo para que ele acabe com .html
s3.putObject(new PutObjectRequest(ARTIST_BUCKET_NAME, artistId + ".html", contentsAsStream, md));
então funciona.
Meu objeto md está sendo ignorado? Como posso contornar isso programaticamente, pois com o tempo eu preciso fazer o upload de milhares de arquivos para que não possa simplesmente entrar na interface do S3 e corrigir manualmente o contentType.