diff --git a/im-platform/src/main/java/com/bx/implatform/service/thirdparty/FileService.java b/im-platform/src/main/java/com/bx/implatform/service/thirdparty/FileService.java index 0a54257..ada35c6 100644 --- a/im-platform/src/main/java/com/bx/implatform/service/thirdparty/FileService.java +++ b/im-platform/src/main/java/com/bx/implatform/service/thirdparty/FileService.java @@ -45,7 +45,10 @@ public class FileService { @PostConstruct public void init(){ if(!minioUtil.bucketExists(bucketName)){ + // 创建bucket minioUtil.makeBucket(bucketName); + // 公开bucket + minioUtil.setBucketPublic(bucketName); } } diff --git a/im-platform/src/main/java/com/bx/implatform/util/MinioUtil.java b/im-platform/src/main/java/com/bx/implatform/util/MinioUtil.java index ff62244..203bae6 100644 --- a/im-platform/src/main/java/com/bx/implatform/util/MinioUtil.java +++ b/im-platform/src/main/java/com/bx/implatform/util/MinioUtil.java @@ -51,6 +51,34 @@ public class MinioUtil { return true; } + /** + * 设置bucket权限为public + * @return Boolean + */ + public Boolean setBucketPublic(String bucketName) { + try { + // 设置公开 + String sb = "{\"Version\":\"2012-10-17\"," + + "\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":" + + "{\"AWS\":[\"*\"]},\"Action\":[\"s3:ListBucket\",\"s3:ListBucketMultipartUploads\"," + + "\"s3:GetBucketLocation\"],\"Resource\":[\"arn:aws:s3:::" + bucketName + + "\"]},{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"*\"]},\"Action\":[\"s3:PutObject\",\"s3:AbortMultipartUpload\",\"s3:DeleteObject\",\"s3:GetObject\",\"s3:ListMultipartUploadParts\"],\"Resource\":[\"arn:aws:s3:::" + + bucketName + + "/*\"]}]}"; + minioClient.setBucketPolicy( + SetBucketPolicyArgs.builder() + .bucket(bucketName) + .config(sb) + .build()); + } catch (Exception e) { + log.error("创建bucket失败,",e); + return false; + } + return true; + + } + + /** * 删除存储bucket * @return Boolean