From 9c5ba19f43cf849f1b4c1ebadbac84a02d773fa0 Mon Sep 17 00:00:00 2001 From: lucio Date: Fri, 11 Nov 2022 17:37:42 +0100 Subject: [PATCH] upload file improved --- .../storagehub/client/proxies/DefaultItemManager.java | 11 +++++++++++ .../client/proxies/DefaultWorkspaceManager.java | 4 +--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/gcube/common/storagehub/client/proxies/DefaultItemManager.java b/src/main/java/org/gcube/common/storagehub/client/proxies/DefaultItemManager.java index deffb37..d028539 100644 --- a/src/main/java/org/gcube/common/storagehub/client/proxies/DefaultItemManager.java +++ b/src/main/java/org/gcube/common/storagehub/client/proxies/DefaultItemManager.java @@ -37,7 +37,9 @@ import org.gcube.common.storagehub.model.service.VersionList; import org.gcube.common.storagehub.model.types.ACLList; import org.glassfish.jersey.media.multipart.BodyPart; import org.glassfish.jersey.media.multipart.ContentDisposition; +import org.glassfish.jersey.media.multipart.FormDataContentDisposition; import org.glassfish.jersey.media.multipart.FormDataMultiPart; +import org.glassfish.jersey.media.multipart.MultiPart; import org.glassfish.jersey.media.multipart.MultiPartFeature; import org.glassfish.jersey.media.multipart.file.FileDataBodyPart; import org.glassfish.jersey.media.multipart.file.StreamDataBodyPart; @@ -653,6 +655,15 @@ public class DefaultItemManager extends DefaultManagerClient implements ItemMana multipart.field("name", fileName); multipart.field("description", description); + + StreamDataBodyPart filePart = new StreamDataBodyPart("file", stream); + filePart.setContentDisposition(FormDataContentDisposition.name("file").fileName(fileName).size(contentLength).build()); + + multipart.bodyPart(filePart); + + response = myManager.queryParams(initQueryParameters()).post(Entity.entity(multipart, multipart.getMediaType())); + + ContentDisposition contentDisposition; if (contentLength>0) contentDisposition = ContentDisposition.type("attachment").fileName(fileName).size(contentLength).build(); diff --git a/src/main/java/org/gcube/common/storagehub/client/proxies/DefaultWorkspaceManager.java b/src/main/java/org/gcube/common/storagehub/client/proxies/DefaultWorkspaceManager.java index 0dd9901..de64333 100644 --- a/src/main/java/org/gcube/common/storagehub/client/proxies/DefaultWorkspaceManager.java +++ b/src/main/java/org/gcube/common/storagehub/client/proxies/DefaultWorkspaceManager.java @@ -27,12 +27,10 @@ import org.gcube.common.storagehub.model.items.Item; import org.gcube.common.storagehub.model.query.Query; import org.gcube.common.storagehub.model.service.ItemList; import org.gcube.common.storagehub.model.service.ItemWrapper; -import org.glassfish.jersey.media.multipart.ContentDisposition; import org.glassfish.jersey.media.multipart.FormDataContentDisposition; import org.glassfish.jersey.media.multipart.FormDataMultiPart; import org.glassfish.jersey.media.multipart.MultiPart; import org.glassfish.jersey.media.multipart.MultiPartFeature; -import org.glassfish.jersey.media.multipart.file.FileDataBodyPart; import org.glassfish.jersey.media.multipart.file.StreamDataBodyPart; import com.fasterxml.jackson.databind.ObjectMapper; @@ -438,7 +436,7 @@ public class DefaultWorkspaceManager extends DefaultManagerClient implements Wor .path("volatile"); GXInboundResponse response =null; - FormDataMultiPart multipart = new FormDataMultiPart(); + StreamDataBodyPart filePart = new StreamDataBodyPart("file", stream); filePart.setContentDisposition(FormDataContentDisposition.name("file").fileName(fileName).size(contentLength).build());