diff --git a/pom.xml b/pom.xml
index 93a64639..9cfb7c26 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,7 +49,6 @@
2.28.22
- 0.31.3
3.3.3
@@ -305,18 +304,18 @@
s3
${aws.sdk.version}
-
-
- software.amazon.awssdk.crt
- aws-crt
- ${aws.crt.version}
-
software.amazon.awssdk
s3-transfer-manager
${aws.sdk.version}
+
+
+ software.amazon.awssdk
+ netty-nio-client
+ ${aws.sdk.version}
+
diff --git a/ruoyi-common/ruoyi-common-oss/pom.xml b/ruoyi-common/ruoyi-common-oss/pom.xml
index 18d004f5..f9583aa1 100644
--- a/ruoyi-common/ruoyi-common-oss/pom.xml
+++ b/ruoyi-common/ruoyi-common-oss/pom.xml
@@ -54,10 +54,10 @@
-
+
- software.amazon.awssdk.crt
- aws-crt
+ software.amazon.awssdk
+ netty-nio-client
diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java
index 795f8839..31382270 100644
--- a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java
+++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java
@@ -16,10 +16,10 @@ import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
import software.amazon.awssdk.core.ResponseInputStream;
import software.amazon.awssdk.core.async.AsyncResponseTransformer;
import software.amazon.awssdk.core.async.BlockingInputStreamAsyncRequestBody;
+import software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3AsyncClient;
import software.amazon.awssdk.services.s3.S3Configuration;
-import software.amazon.awssdk.services.s3.crt.S3CrtHttpConfiguration;
import software.amazon.awssdk.services.s3.model.GetObjectResponse;
import software.amazon.awssdk.services.s3.presigner.S3Presigner;
import software.amazon.awssdk.transfer.s3.S3TransferManager;
@@ -84,18 +84,14 @@ public class OssClient {
// MinIO 使用 HTTPS 限制使用域名访问,站点填域名。需要启用路径样式访问
boolean isStyle = !StringUtils.containsAny(properties.getEndpoint(), OssConstant.CLOUD_SERVICE);
- // 创建AWS基于 CRT 的 S3 客户端
- this.client = S3AsyncClient.crtBuilder()
+ // 创建AWS基于 Netty 的 S3 客户端
+ this.client = S3AsyncClient.builder()
.credentialsProvider(credentialsProvider)
.endpointOverride(URI.create(getEndpoint()))
.region(of())
- .targetThroughputInGbps(20.0)
- .minimumPartSizeInBytes(10 * 1025 * 1024L)
- .checksumValidationEnabled(false)
.forcePathStyle(isStyle)
- .httpConfiguration(S3CrtHttpConfiguration.builder()
- .connectionTimeout(Duration.ofSeconds(60)) // 设置连接超时
- .build())
+ .httpClient(NettyNioAsyncHttpClient.builder()
+ .connectionTimeout(Duration.ofSeconds(60)).build())
.build();
//AWS基于 CRT 的 S3 AsyncClient 实例用作 S3 传输管理器的底层客户端