diff --git a/nop-integration/nop-integration-oss/src/main/java/io/nop/integration/oss/OssFileServiceClient.java b/nop-integration/nop-integration-oss/src/main/java/io/nop/integration/oss/OssFileServiceClient.java index 49ce99e39e393aedc27f8ee0646429f43087ade7..c0e82cd41968f9137f9064fc5fd9a792f94f0ae2 100644 --- a/nop-integration/nop-integration-oss/src/main/java/io/nop/integration/oss/OssFileServiceClient.java +++ b/nop-integration/nop-integration-oss/src/main/java/io/nop/integration/oss/OssFileServiceClient.java @@ -24,10 +24,7 @@ import jakarta.ws.rs.core.MediaType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; +import java.io.*; import java.util.ArrayList; import java.util.List; @@ -116,16 +113,22 @@ public class OssFileServiceClient implements IFileServiceClient { @Override public String uploadResource(IResourceReference file, String remotePath) { remotePath = normalizePath(remotePath); + InputStream is = file.getInputStream(); + ByteArrayInputStream bais = null; try { + byte[] fileBytes = IoHelper.readBytes(is); + bais = new ByteArrayInputStream(fileBytes); ObjectMetadata meta = new ObjectMetadata(); meta.setContentLength(file.length()); meta.setContentType(MediaType.APPLICATION_OCTET_STREAM); String bucketName = getBucketName(remotePath); makeBucket(bucketName); - client.putObject(bucketName, remotePath, is, meta); + client.putObject(bucketName, remotePath, bais, meta); + } catch (IOException e) { + throw new RuntimeException(e); } finally { - IoHelper.safeCloseObject(is); + IoHelper.safeCloseObject(bais); } return remotePath;