You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by of...@apache.org on 2020/06/22 14:04:30 UTC
[incubator-dlab] branch develop updated: [DLAB-1777] Fixed issue
with content type for objects while uploading via DLab UI
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 <ol...@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-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org