From afac00de336762f881da169b12f1c7e9518c8638 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期日, 13 十一月 2022 22:06:05 +0800
Subject: [PATCH] fix 修复 使用缓冲流 导致上传异常问题 回滚错误提交 #35fac6c

---
 ruoyi-oss/src/main/java/com/ruoyi/oss/core/OssClient.java                       |    4 ++++
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java |    2 +-
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/core/OssClient.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/core/OssClient.java
index d6e058d..fe409ce 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/core/OssClient.java
+++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/core/OssClient.java
@@ -1,5 +1,6 @@
 package com.ruoyi.oss.core;
 
+import cn.hutool.core.io.IoUtil;
 import cn.hutool.core.util.IdUtil;
 import com.amazonaws.ClientConfiguration;
 import com.amazonaws.HttpMethod;
@@ -97,6 +98,9 @@
     }
 
     public UploadResult upload(InputStream inputStream, String path, String contentType) {
+        if (!(inputStream instanceof ByteArrayInputStream)) {
+            inputStream = new ByteArrayInputStream(IoUtil.readBytes(inputStream));
+        }
         try {
             ObjectMetadata metadata = new ObjectMetadata();
             metadata.setContentType(contentType);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
index c62f38e..cd9bffb 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
@@ -114,7 +114,7 @@
         OssClient storage = OssFactory.instance();
         UploadResult uploadResult;
         try {
-            uploadResult = storage.uploadSuffix(file.getInputStream(), suffix, file.getContentType());
+            uploadResult = storage.uploadSuffix(file.getBytes(), suffix, file.getContentType());
         } catch (IOException e) {
             throw new ServiceException(e.getMessage());
         }

--
Gitblit v1.9.3