From f0ebb0596dd26c7156e96ce2fedb25bca2af75f1 Mon Sep 17 00:00:00 2001 From: Min Chen Date: Wed, 19 Jun 2013 16:50:27 -0700 Subject: [PATCH] CLOUDSTACK-3027:Object_Store_Refactor - Uploaded template S3 content-type is not appropriate --- .../cloud/storage/template/S3TemplateDownloader.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/core/src/com/cloud/storage/template/S3TemplateDownloader.java b/core/src/com/cloud/storage/template/S3TemplateDownloader.java index 7763423a4a0..340e0dba868 100644 --- a/core/src/com/cloud/storage/template/S3TemplateDownloader.java +++ b/core/src/com/cloud/storage/template/S3TemplateDownloader.java @@ -209,6 +209,13 @@ public class S3TemplateDownloader implements TemplateDownloader { remoteSize = maxTemplateSizeInByte; } + // get content type + String contentType = null; + Header contentTypeHeader = request.getResponseHeader("Content-Type"); + if ( contentTypeHeader != null ){ + contentType = contentTypeHeader.getValue(); + } + InputStream in = !chunked ? new BufferedInputStream(request.getResponseBodyAsStream()) : new ChunkedInputStream(request.getResponseBodyAsStream()); @@ -225,6 +232,9 @@ public class S3TemplateDownloader implements TemplateDownloader { // download using S3 API ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentLength(remoteSize); + if ( contentType != null ){ + metadata.setContentType(contentType); + } PutObjectRequest putObjectRequest = new PutObjectRequest(s3.getBucketName(), s3Key, in, metadata); // check if RRS is enabled if (s3.getEnableRRS()){