diff --git a/pigx-common/pigx-common-oss/src/main/java/com/pig4cloud/pigx/common/file/oss/service/OssTemplate.java b/pigx-common/pigx-common-oss/src/main/java/com/pig4cloud/pigx/common/file/oss/service/OssTemplate.java
index 99a41f793..250f7153c 100755
--- a/pigx-common/pigx-common-oss/src/main/java/com/pig4cloud/pigx/common/file/oss/service/OssTemplate.java
+++ b/pigx-common/pigx-common-oss/src/main/java/com/pig4cloud/pigx/common/file/oss/service/OssTemplate.java
@@ -52,229 +52,241 @@ import java.util.*;
@RequiredArgsConstructor
public class OssTemplate implements InitializingBean, FileTemplate {
- private final FileProperties properties;
+ private final FileProperties properties;
- private AmazonS3 amazonS3;
+ private AmazonS3 amazonS3;
- /**
- * 创建bucket
- * @param bucketName bucket名称
- */
- @SneakyThrows
- public void createBucket(String bucketName) {
- if (!amazonS3.doesBucketExistV2(bucketName)) {
- amazonS3.createBucket((bucketName));
- }
- }
+ /**
+ * 创建bucket
+ *
+ * @param bucketName bucket名称
+ */
+ @SneakyThrows
+ public void createBucket(String bucketName) {
+ if (!amazonS3.doesBucketExistV2(bucketName)) {
+ amazonS3.createBucket((bucketName));
+ }
+ }
- /**
- * 获取全部bucket
- *
- *
- * @see AWS
- * API Documentation
- */
- @SneakyThrows
- public List getAllBuckets() {
- return amazonS3.listBuckets();
- }
+ /**
+ * 获取全部bucket
+ *
+ *
+ * @see AWS
+ * API Documentation
+ */
+ @SneakyThrows
+ public List getAllBuckets() {
+ return amazonS3.listBuckets();
+ }
- /**
- * @param bucketName bucket名称
- * @see AWS
- * API Documentation
- */
- @SneakyThrows
- public Optional getBucket(String bucketName) {
- return amazonS3.listBuckets().stream().filter(b -> b.getName().equals(bucketName)).findFirst();
- }
+ /**
+ * @param bucketName bucket名称
+ * @see AWS
+ * API Documentation
+ */
+ @SneakyThrows
+ public Optional getBucket(String bucketName) {
+ return amazonS3.listBuckets().stream().filter(b -> b.getName().equals(bucketName)).findFirst();
+ }
- /**
- * @param bucketName bucket名称
- * @see AWS API
- * Documentation
- */
- @SneakyThrows
- public void removeBucket(String bucketName) {
- amazonS3.deleteBucket(bucketName);
- }
+ /**
+ * @param bucketName bucket名称
+ * @see AWS API
+ * Documentation
+ */
+ @SneakyThrows
+ public void removeBucket(String bucketName) {
+ amazonS3.deleteBucket(bucketName);
+ }
- /**
- * 根据文件前置查询文件
- * @param bucketName bucket名称
- * @param prefix 前缀
- * @param recursive 是否递归查询
- * @return S3ObjectSummary 列表
- * @see AWS
- * API Documentation
- */
- @SneakyThrows
- public List getAllObjectsByPrefix(String bucketName, String prefix, boolean recursive) {
- ObjectListing objectListing = amazonS3.listObjects(bucketName, prefix);
- return new ArrayList<>(objectListing.getObjectSummaries());
- }
+ /**
+ * 根据文件前置查询文件
+ *
+ * @param bucketName bucket名称
+ * @param prefix 前缀
+ * @param recursive 是否递归查询
+ * @return S3ObjectSummary 列表
+ * @see AWS
+ * API Documentation
+ */
+ @SneakyThrows
+ public List getAllObjectsByPrefix(String bucketName, String prefix, boolean recursive) {
+ ObjectListing objectListing = amazonS3.listObjects(bucketName, prefix);
+ return new ArrayList<>(objectListing.getObjectSummaries());
+ }
- /**
- * 获取文件外链
- * @param bucketName bucket名称
- * @param objectName 文件名称
- * @param expires 过期时间 <=7
- * @return url
- * @see AmazonS3#generatePresignedUrl(String bucketName, String key, Date expiration)
- */
- @SneakyThrows
- public String getObjectURL(String bucketName, String objectName, Integer expires) {
- Date date = new Date();
- Calendar calendar = new GregorianCalendar();
- calendar.setTime(date);
- calendar.add(Calendar.DAY_OF_MONTH, expires);
- URL url = amazonS3.generatePresignedUrl(bucketName, objectName, calendar.getTime());
- return url.toString();
- }
+ /**
+ * 获取文件外链
+ *
+ * @param bucketName bucket名称
+ * @param objectName 文件名称
+ * @param expires 过期时间 <=7
+ * @return url
+ * @see AmazonS3#generatePresignedUrl(String bucketName, String key, Date expiration)
+ */
+ @SneakyThrows
+ public String getObjectURL(String bucketName, String objectName, Integer expires) {
+ Date date = new Date();
+ Calendar calendar = new GregorianCalendar();
+ calendar.setTime(date);
+ calendar.add(Calendar.DAY_OF_MONTH, expires);
+ URL url = amazonS3.generatePresignedUrl(bucketName, objectName, calendar.getTime());
+ return url.toString();
+ }
- /**
- * 获取文件
- * @param bucketName bucket名称
- * @param objectName 文件名称
- * @return 二进制流
- * @see AWS
- * API Documentation
- */
- @SneakyThrows
- public S3Object getObject(String bucketName, String objectName) {
- if (properties.getOss().isSkipMd5Check()) {
- System.setProperty("com.amazonaws.services.s3.disableGetObjectMD5Validation", "false");
- }
- return amazonS3.getObject(bucketName, objectName);
- }
+ /**
+ * 获取文件
+ *
+ * @param bucketName bucket名称
+ * @param objectName 文件名称
+ * @return 二进制流
+ * @see AWS
+ * API Documentation
+ */
+ @SneakyThrows
+ public S3Object getObject(String bucketName, String objectName) {
+ if (properties.getOss().isSkipMd5Check()) {
+ System.setProperty("com.amazonaws.services.s3.disableGetObjectMD5Validation", "false");
+ }
+ return amazonS3.getObject(bucketName, objectName);
+ }
- /**
- * 获取文件
- * @param bucketName bucket名称
- * @param dir 文件夹名称
- * @param objectName 文件名称
- * @return 二进制流 API Documentation
- */
- @Override
- public S3Object getObject(String bucketName, String dir, String objectName) {
- if (StrUtil.isNotBlank(dir)) {
- objectName = dir + "/" + objectName;
- }
- return getObject(bucketName, objectName);
- }
+ /**
+ * 获取文件
+ *
+ * @param bucketName bucket名称
+ * @param dir 文件夹名称
+ * @param objectName 文件名称
+ * @return 二进制流 API Documentation
+ */
+ @Override
+ public S3Object getObject(String bucketName, String dir, String objectName) {
+ if (StrUtil.isNotBlank(dir)) {
+ objectName = dir + "/" + objectName;
+ }
+ return getObject(bucketName, objectName);
+ }
- /**
- * 上传文件
- * @param bucketName bucket名称
- * @param objectName 文件名称
- * @param stream 文件流
- * @throws Exception
- */
- public void putObject(String bucketName, String objectName, InputStream stream) throws Exception {
- putObject(bucketName, objectName, stream, stream.available(), "application/octet-stream");
- }
+ /**
+ * 上传文件
+ *
+ * @param bucketName bucket名称
+ * @param objectName 文件名称
+ * @param stream 文件流
+ * @throws Exception
+ */
+ public void putObject(String bucketName, String objectName, InputStream stream) throws Exception {
+ putObject(bucketName, objectName, stream, stream.available(), "application/octet-stream");
+ }
- /**
- * 上传文件
- * @param bucketName bucket名称
- * @param objectName 文件名称
- * @param stream 文件流
- * @param contextType 文件类型
- * @throws Exception
- */
- public void putObject(String bucketName, String objectName, InputStream stream, String contextType)
- throws Exception {
- putObject(bucketName, objectName, stream, stream.available(), contextType);
- }
+ /**
+ * 上传文件
+ *
+ * @param bucketName bucket名称
+ * @param objectName 文件名称
+ * @param stream 文件流
+ * @param contextType 文件类型
+ * @throws Exception
+ */
+ public void putObject(String bucketName, String objectName, InputStream stream, String contextType)
+ throws Exception {
+ putObject(bucketName, objectName, stream, stream.available(), contextType);
+ }
- /**
- * 上传文件
- * @param bucketName bucket名称
- * @param dir 文件夹名称
- * @param objectName 文件名称
- * @param stream 文件流
- * @param contextType 文件类型
- * @throws Exception
- */
- @Override
- public void putObject(String bucketName, String dir, String objectName, InputStream stream, String contextType)
- throws Exception {
- if (StrUtil.isNotBlank(dir)) {
- // dir 路径为 a/b
- objectName = dir + FileUtil.FILE_SEPARATOR + objectName;
- }
+ /**
+ * 上传文件
+ *
+ * @param bucketName bucket名称
+ * @param dir 文件夹名称
+ * @param objectName 文件名称
+ * @param stream 文件流
+ * @param contextType 文件类型
+ * @throws Exception
+ */
+ @Override
+ public void putObject(String bucketName, String dir, String objectName, InputStream stream, String contextType)
+ throws Exception {
+ if (StrUtil.isNotBlank(dir)) {
+ // dir 路径为 a/b
+ objectName = dir + FileUtil.FILE_SEPARATOR + objectName;
+ }
- putObject(bucketName, objectName, stream, stream.available(), contextType);
- }
+ putObject(bucketName, objectName, stream, stream.available(), contextType);
+ }
- /**
- * 上传文件
- * @param bucketName bucket名称
- * @param objectName 文件名称
- * @param stream 文件流
- * @param size 大小
- * @param contextType 类型
- * @throws Exception
- * @see AWS
- * API Documentation
- */
- public PutObjectResult putObject(String bucketName, String objectName, InputStream stream, long size,
- String contextType) throws Exception {
- // String fileName = getFileName(objectName);
- byte[] bytes = IOUtils.toByteArray(stream);
- ObjectMetadata objectMetadata = new ObjectMetadata();
- objectMetadata.setContentLength(size);
- objectMetadata.setContentType(contextType);
- ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
- // 上传
- return amazonS3.putObject(bucketName, objectName, byteArrayInputStream, objectMetadata);
+ /**
+ * 上传文件
+ *
+ * @param bucketName bucket名称
+ * @param objectName 文件名称
+ * @param stream 文件流
+ * @param size 大小
+ * @param contextType 类型
+ * @throws Exception
+ * @see AWS
+ * API Documentation
+ */
+ public PutObjectResult putObject(String bucketName, String objectName, InputStream stream, long size,
+ String contextType) throws Exception {
+ // String fileName = getFileName(objectName);
+ byte[] bytes = IOUtils.toByteArray(stream);
+ ObjectMetadata objectMetadata = new ObjectMetadata();
+ objectMetadata.setContentLength(size);
+ objectMetadata.setContentType(contextType);
+ ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
+ // 上传
+ return amazonS3.putObject(bucketName, objectName, byteArrayInputStream, objectMetadata);
- }
+ }
- /**
- * 获取文件信息
- * @param bucketName bucket名称
- * @param objectName 文件名称
- * @see AWS
- * API Documentation
- */
- public S3Object getObjectInfo(String bucketName, String objectName) throws Exception {
- @Cleanup
- S3Object object = amazonS3.getObject(bucketName, objectName);
- return object;
- }
+ /**
+ * 获取文件信息
+ *
+ * @param bucketName bucket名称
+ * @param objectName 文件名称
+ * @see AWS
+ * API Documentation
+ */
+ public S3Object getObjectInfo(String bucketName, String objectName) throws Exception {
+ @Cleanup
+ S3Object object = amazonS3.getObject(bucketName, objectName);
+ return object;
+ }
- /**
- * 删除文件
- * @param bucketName bucket名称
- * @param objectName 文件名称
- * @throws Exception
- * @see AWS API
- * Documentation
- */
- public void removeObject(String bucketName, String objectName) throws Exception {
- amazonS3.deleteObject(bucketName, objectName);
- }
+ /**
+ * 删除文件
+ *
+ * @param bucketName bucket名称
+ * @param objectName 文件名称
+ * @throws Exception
+ * @see AWS API
+ * Documentation
+ */
+ public void removeObject(String bucketName, String objectName) throws Exception {
+ amazonS3.deleteObject(bucketName, objectName);
+ }
- @Override
- public void afterPropertiesSet() {
- ClientConfiguration clientConfiguration = new ClientConfiguration();
- clientConfiguration.setMaxConnections(properties.getOss().getMaxConnections());
+ @Override
+ public void afterPropertiesSet() {
+ System.setProperty("aws.java.v1.disableDeprecationAnnouncement", "true");
+ ClientConfiguration clientConfiguration = new ClientConfiguration();
+ clientConfiguration.setMaxConnections(properties.getOss().getMaxConnections());
- AwsClientBuilder.EndpointConfiguration endpointConfiguration = new AwsClientBuilder.EndpointConfiguration(
- properties.getOss().getEndpoint(), properties.getOss().getRegion());
- AWSCredentials awsCredentials = new BasicAWSCredentials(properties.getOss().getAccessKey(),
- properties.getOss().getSecretKey());
- AWSCredentialsProvider awsCredentialsProvider = new AWSStaticCredentialsProvider(awsCredentials);
- this.amazonS3 = AmazonS3Client.builder()
- .withEndpointConfiguration(endpointConfiguration)
- .withClientConfiguration(clientConfiguration)
- .withCredentials(awsCredentialsProvider)
- .disableChunkedEncoding()
- .withPathStyleAccessEnabled(properties.getOss().getPathStyleAccess())
- .build();
- }
+ AwsClientBuilder.EndpointConfiguration endpointConfiguration = new AwsClientBuilder.EndpointConfiguration(
+ properties.getOss().getEndpoint(), properties.getOss().getRegion());
+ AWSCredentials awsCredentials = new BasicAWSCredentials(properties.getOss().getAccessKey(),
+ properties.getOss().getSecretKey());
+ AWSCredentialsProvider awsCredentialsProvider = new AWSStaticCredentialsProvider(awsCredentials);
+ this.amazonS3 = AmazonS3Client.builder()
+ .withEndpointConfiguration(endpointConfiguration)
+ .withClientConfiguration(clientConfiguration)
+ .withCredentials(awsCredentialsProvider)
+ .disableChunkedEncoding()
+ .withPathStyleAccessEnabled(properties.getOss().getPathStyleAccess())
+ .build();
+ }
}