|
|
@ -28,15 +28,18 @@ public class MinioStorageService extends AbstractCloudStorageService { |
|
|
|
|
|
|
|
CloudStorageConfig.MinioStorageConfigProps props = config.getMinio().getConfigByPrivacy(null); |
|
|
|
|
|
|
|
/** |
|
|
|
* minio和服务在同一个局域网,则可以使用内网域名上传,速度更快更稳定 |
|
|
|
*/ |
|
|
|
minioClient = MinioClient.builder() |
|
|
|
.endpoint(props.getMinioDomain()) // 保证和nginx的proxy_set_header Host 一致
|
|
|
|
.endpoint(props.getMinioInternalDomain()) // 保证和nginx的proxy_set_header Host 一致
|
|
|
|
.credentials(props.getMinioAccessKey(), props.getMinioSecretKey()) |
|
|
|
.build(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public String getOssDomain(String privacy) { |
|
|
|
return this.config.getMinio().getConfigByPrivacy(privacy).getMinioDomain(); |
|
|
|
return this.config.getMinio().getConfigByPrivacy(privacy).getMinioExternalDomain(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -74,7 +77,9 @@ public class MinioStorageService extends AbstractCloudStorageService { |
|
|
|
.build()); |
|
|
|
|
|
|
|
log.debug("minio上传文件成功。bucket:{}, object:{}, privacyType:{}", resp.bucket(), resp.object(), privacyType); |
|
|
|
return props.getMinioDomain() + "/" + Paths.get(resp.bucket()).resolve(resp.object()).toString(); |
|
|
|
|
|
|
|
// 返回值要存储到数据库,供用户访问,因此使用外网域名
|
|
|
|
return props.getMinioExternalDomain() + "/" + Paths.get(resp.bucket()).resolve(resp.object()).toString(); |
|
|
|
} catch (Exception e) { |
|
|
|
String errorMsg = ExceptionUtils.getErrorStackTrace(e); |
|
|
|
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), errorMsg); |
|
|
|