diff --git a/src/main/java/com/gxwebsoft/common/system/controller/AliOssController.java b/src/main/java/com/gxwebsoft/common/system/controller/AliOssController.java index 825d347..5b3e1bc 100644 --- a/src/main/java/com/gxwebsoft/common/system/controller/AliOssController.java +++ b/src/main/java/com/gxwebsoft/common/system/controller/AliOssController.java @@ -121,11 +121,16 @@ public class AliOssController extends BaseController { OSS ossClient; if ("minio".equals(uploadMethod)) { ClientBuilderConfiguration minioConfig = new ClientBuilderConfiguration(); - // 3.17 已移除 setPathStyleAccess;用 setExtractSettingFromEndpoint 让 SDK 对 MinIO 这类 - // 非阿里云 endpoint 自动按 path-style 访问,并从 endpoint 推导 region + // MinIO 兼容 S3:V4 签名 + path-style。自定义域名无法从 endpoint 推导 region, + // 必须显式指定(MinIO 默认 us-east-1),否则 OSSV4Signer.getRegion() 为 null 触发 NPE。 minioConfig.setSignatureVersion(SignVersion.V4); minioConfig.setExtractSettingFromEndpoint(true); - ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider, minioConfig); + ossClient = OSSClientBuilder.create() + .endpoint(endpoint) + .credentialsProvider(credentialsProvider) + .clientConfiguration(minioConfig) + .region("us-east-1") + .build(); } else { ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider); } diff --git a/src/main/java/com/gxwebsoft/common/system/service/impl/FileRecordServiceImpl.java b/src/main/java/com/gxwebsoft/common/system/service/impl/FileRecordServiceImpl.java index d96ca7f..8c915e5 100644 --- a/src/main/java/com/gxwebsoft/common/system/service/impl/FileRecordServiceImpl.java +++ b/src/main/java/com/gxwebsoft/common/system/service/impl/FileRecordServiceImpl.java @@ -101,11 +101,16 @@ public class FileRecordServiceImpl extends ServiceImpl