From 02a54119a6732a6b401185866ee53bf11579e1e2 Mon Sep 17 00:00:00 2001 From: "xie.bx" Date: Thu, 15 Dec 2022 13:26:09 +0800 Subject: [PATCH] =?UTF-8?q?minio=20bucket=E6=9D=83=E9=99=90=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E8=AE=BE=E7=BD=AE=E6=88=90pulic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/thirdparty/FileService.java | 3 ++ .../com/bx/implatform/util/MinioUtil.java | 28 +++++++++++++++++++ 2 files changed, 31 insertions(+) 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