This is an automated email from the ASF dual-hosted git repository. ofuks pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
The following commit(s) were added to refs/heads/develop by this push: new f30a38f [DLAB-1777] Fixed issue with content type for objects while uploading via DLab UI f30a38f is described below commit f30a38fbbc4bcd87f46fd2baa94f59938bf9dc93 Author: Oleh Fuks <olegfuk...@gmail.com> AuthorDate: Mon Jun 22 14:30:29 2020 +0300 [DLAB-1777] Fixed issue with content type for objects while uploading via DLab UI --- .../java/com/epam/dlab/backendapi/resources/BucketResource.java | 2 +- .../main/java/com/epam/dlab/backendapi/service/BucketService.java | 2 +- .../dlab/backendapi/service/impl/aws/BucketServiceAwsImpl.java | 3 ++- .../backendapi/service/impl/azure/BucketServiceAzureImpl.java | 2 +- .../dlab/backendapi/service/impl/gcp/BucketServiceGcpImpl.java | 6 ++++-- .../java/com/epam/dlab/backendapi/resources/BucketResource.java | 2 +- .../main/java/com/epam/dlab/backendapi/service/BucketService.java | 2 +- .../com/epam/dlab/backendapi/service/impl/BucketServiceImpl.java | 8 ++++---- 8 files changed, 15 insertions(+), 12 deletions(-) diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java index 9bcfdbe..bd21844 100644 --- a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java +++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java @@ -129,7 +129,7 @@ public class BucketResource { fileSize = Long.parseLong(Streams.asString(stream)); } } else { - bucketService.uploadObject(bucket, object, stream, fileSize); + bucketService.uploadObject(bucket, object, stream, item.getContentType(), fileSize); } } catch (Exception e) { log.error("Cannot upload object {} to bucket {}. {}", object, bucket, e.getMessage(), e); diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/BucketService.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/BucketService.java index f62f391..47b001b 100644 --- a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/BucketService.java +++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/BucketService.java @@ -31,7 +31,7 @@ public interface BucketService { List<BucketDTO> getObjects(String bucket); - void uploadObject(String bucket, String object, InputStream stream, long fileSize); + void uploadObject(String bucket, String object, InputStream stream, String contentType, long fileSize); void uploadFolder(UserInfo userInfo, String bucket, String folder); diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/aws/BucketServiceAwsImpl.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/aws/BucketServiceAwsImpl.java index a68914d..79831a4 100644 --- a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/aws/BucketServiceAwsImpl.java +++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/aws/BucketServiceAwsImpl.java @@ -66,7 +66,7 @@ public class BucketServiceAwsImpl implements BucketService { } @Override - public void uploadObject(String bucket, String object, InputStream stream, long fileSize) { + public void uploadObject(String bucket, String object, InputStream stream, String contentType, long fileSize) { log.info("Uploading file {} to bucket {}", object, bucket); try { S3Client s3 = S3Client.create(); @@ -74,6 +74,7 @@ public class BucketServiceAwsImpl implements BucketService { .builder() .bucket(bucket) .key(object) + .contentType(contentType) .build(); s3.putObject(uploadRequest, RequestBody.fromInputStream(stream, fileSize)); } catch (Exception e) { diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/azure/BucketServiceAzureImpl.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/azure/BucketServiceAzureImpl.java index 56fc71c..1b55711 100644 --- a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/azure/BucketServiceAzureImpl.java +++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/azure/BucketServiceAzureImpl.java @@ -56,7 +56,7 @@ public class BucketServiceAzureImpl implements BucketService { } @Override - public void uploadObject(String bucket, String object, InputStream stream, long fileSize) { + public void uploadObject(String bucket, String object, InputStream stream, String contentType, long fileSize) { log.info("Uploading file {} to bucket {}", object, bucket); try { BlobServiceClient blobServiceClient = new BlobServiceClientBuilder().connectionString(System.getenv("AZURE_STORAGE_CONNECTION_STRING")).buildClient(); diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/gcp/BucketServiceGcpImpl.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/gcp/BucketServiceGcpImpl.java index 591275a..2f0b15a 100644 --- a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/gcp/BucketServiceGcpImpl.java +++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/gcp/BucketServiceGcpImpl.java @@ -58,12 +58,14 @@ public class BucketServiceGcpImpl implements BucketService { } @Override - public void uploadObject(String bucket, String object, InputStream stream, long fileSize) { + public void uploadObject(String bucket, String object, InputStream stream, String contentType, long fileSize) { log.info("Uploading file {} to bucket {}", object, bucket); try { Storage storage = StorageOptions.getDefaultInstance().getService(); BlobId blobId = BlobId.of(bucket, object); - BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build(); + BlobInfo blobInfo = BlobInfo.newBuilder(blobId) + .setContentType(contentType) + .build(); storage.create(blobInfo, stream); } catch (Exception e) { log.error("Cannot upload object {} to bucket {}. Reason: {}", object, bucket, e.getMessage()); diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java index 8e943b2..1cca27c 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java @@ -143,7 +143,7 @@ public class BucketResource { fileSize = Long.parseLong(Streams.asString(stream)); } } else { - bucketService.uploadObject(userInfo, bucket, object, endpoint, stream, fileSize); + bucketService.uploadObject(userInfo, bucket, object, endpoint, stream, item.getContentType(), fileSize); } } catch (Exception e) { log.error("Cannot upload object {} to bucket {}. {}", object, bucket, e.getMessage(), e); diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/BucketService.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/BucketService.java index b1fec76..cd22ddc 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/BucketService.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/BucketService.java @@ -29,7 +29,7 @@ import java.util.List; public interface BucketService { List<BucketDTO> getObjects(UserInfo userInfo, String bucket, String endpoint); - void uploadObject(UserInfo userInfo, String bucket, String object, String endpoint, InputStream inputStream, long fileSize); + void uploadObject(UserInfo userInfo, String bucket, String object, String endpoint, InputStream inputStream, String contentType, long fileSize); void uploadFolder(UserInfo userInfo, String bucket, String folder, String endpoint); diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BucketServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BucketServiceImpl.java index 14af1d0..b186d4a 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BucketServiceImpl.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BucketServiceImpl.java @@ -81,11 +81,11 @@ public class BucketServiceImpl implements BucketService { } @Override - public void uploadObject(UserInfo userInfo, String bucket, String object, String endpoint, InputStream inputStream, long fileSize) { + public void uploadObject(UserInfo userInfo, String bucket, String object, String endpoint, InputStream inputStream, String contentType, long fileSize) { log.info("Uploading file {} for user {} to bucket {}", object, userInfo.getName(), bucket); try { EndpointDTO endpointDTO = endpointService.get(endpoint); - FormDataMultiPart formData = getFormDataMultiPart(bucket, object, inputStream, fileSize); + FormDataMultiPart formData = getFormDataMultiPart(bucket, object, inputStream, contentType, fileSize); Response response = provisioningService.postForm(String.format(BUCKET_UPLOAD_OBJECT, endpointDTO.getUrl()), userInfo.getAccessToken(), formData, Response.class); if (response.getStatus() != HttpStatus.SC_OK) { throw new DlabException(String.format("Something went wrong. Response status is %s ", response.getStatus())); @@ -147,8 +147,8 @@ public class BucketServiceImpl implements BucketService { return URLEncoder.encode(object, StandardCharsets.UTF_8.toString()).replace("+", "%20"); } - private FormDataMultiPart getFormDataMultiPart(String bucket, String object, InputStream inputStream, long fileSize) { - StreamDataBodyPart filePart = new StreamDataBodyPart("file", inputStream, object, MediaType.valueOf(APPLICATION_OCTET_STREAM)); + private FormDataMultiPart getFormDataMultiPart(String bucket, String object, InputStream inputStream, String contentType, long fileSize) { + StreamDataBodyPart filePart = new StreamDataBodyPart("file", inputStream, object, MediaType.valueOf(contentType)); FormDataMultiPart formData = new FormDataMultiPart(); formData.field("bucket", bucket); formData.field("object", object); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@dlab.apache.org For additional commands, e-mail: commits-h...@dlab.apache.org