From aba829f97bc8c0c7828727676edf4a2c2bd0b282 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Fri, 31 Jul 2026 14:40:33 +0800
Subject: [PATCH] fix(oss): 解决文件上传流重置异常问题
---
drone-ops/drone-resource/src/main/java/org/sxkj/resource/feign/AttachClient.java | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/drone-ops/drone-resource/src/main/java/org/sxkj/resource/feign/AttachClient.java b/drone-ops/drone-resource/src/main/java/org/sxkj/resource/feign/AttachClient.java
index ad70455..1a41ba8 100644
--- a/drone-ops/drone-resource/src/main/java/org/sxkj/resource/feign/AttachClient.java
+++ b/drone-ops/drone-resource/src/main/java/org/sxkj/resource/feign/AttachClient.java
@@ -26,6 +26,7 @@
import org.sxkj.resource.vo.AttachTypeStatisticsVO;
import org.sxkj.resource.vo.AttachVO;
+import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -121,7 +122,10 @@
}
@Override
public BladeFile saveAttachFile(MultipartFile file, String fileName) throws IOException {
- BladeFile bladeFile = ossBuilder.template().putFile(pojo.getBucket(),fileName, file.getInputStream());
+ // 步骤1: 将文件转换为字节数组,避免流重置异常
+ byte[] bytes = file.getBytes();
+ // 步骤2: 使用字节数组输入流上传文件
+ BladeFile bladeFile = ossBuilder.template().putFile(pojo.getBucket(),fileName, new ByteArrayInputStream(bytes));
Long attachId = buildAttach(fileName, file.getSize(), bladeFile, null);
bladeFile.setAttachId(attachId);
return bladeFile;
@@ -129,7 +133,10 @@
@Override
public BladeFile saveAttachFile(MultipartFile file, String fileName, List<List<String>> type) throws IOException {
- BladeFile bladeFile = ossBuilder.template().putFile(pojo.getBucket(),fileName, file.getInputStream());
+ // 步骤1: 将文件转换为字节数组,避免流重置异常
+ byte[] bytes = file.getBytes();
+ // 步骤2: 使用字节数组输入流上传文件
+ BladeFile bladeFile = ossBuilder.template().putFile(pojo.getBucket(),fileName, new ByteArrayInputStream(bytes));
Long attachId = buildAttach(fileName, file.getSize(), bladeFile, type);
bladeFile.setAttachId(attachId);
return bladeFile;
@@ -144,7 +151,10 @@
*/
@Override
public BladeFile putFile(MultipartFile file, String fileName) throws IOException {
- BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream());
+ // 步骤1: 将文件转换为字节数组,避免流重置异常
+ byte[] bytes = file.getBytes();
+ // 步骤2: 使用字节数组输入流上传文件
+ BladeFile bladeFile = ossBuilder.template().putFile(fileName, new ByteArrayInputStream(bytes));
return bladeFile;
}
--
Gitblit v1.9.3