Procházet zdrojové kódy

是自己的评论

东方国信-蔡芳 před 6 měsíci
rodič
revize
ca7c994905

+ 3 - 0
snowy-base/snowy-common/src/main/java/vip/xiaonuo/common/prop/CommonProperties.java

@@ -37,4 +37,7 @@ public class CommonProperties {
 
     /** 文件地址 */
     private String fileUrl;
+
+    private String minioUrl;
+
 }

+ 8 - 2
snowy-plugin/snowy-plugin-dev/snowy-plugin-dev-func/src/main/java/vip/xiaonuo/dev/modular/file/service/impl/DevFileServiceImpl.java

@@ -25,6 +25,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 import vip.xiaonuo.common.exception.CommonException;
@@ -63,6 +64,11 @@ public class DevFileServiceImpl extends ServiceImpl<DevFileMapper, DevFile> impl
     @Resource
     private CommonProperties commonProperties;
 
+
+    @Resource
+    private DevFileMinIoUtil devFileMinIoUtil;
+
+
     @Override
     public String uploadReturnId(String engine, MultipartFile file) {
         return this.storageFile(engine, file, true);
@@ -164,8 +170,8 @@ public class DevFileServiceImpl extends ServiceImpl<DevFileMapper, DevFile> impl
         } else if(engine.equals(DevFileEngineTypeEnum.MINIO.getValue())) {
 
             // 使用MINIO默认配置的bucketName
-            bucketName = DevFileMinIoUtil.getDefaultBucketName();
-            storageUrl = DevFileMinIoUtil.storageFileWithReturnUrl(bucketName, genFileKey(fileId, file), file);
+            bucketName = devFileMinIoUtil.getDefaultBucketName();
+            storageUrl = devFileMinIoUtil.storageFileWithReturnUrl(bucketName, genFileKey(fileId, file), file);
         } else {
             throw new CommonException("不支持的文件引擎:{}", engine);
         }

+ 25 - 19
snowy-plugin/snowy-plugin-dev/snowy-plugin-dev-func/src/main/java/vip/xiaonuo/dev/modular/file/util/DevFileMinIoUtil.java

@@ -24,12 +24,15 @@ import cn.hutool.json.JSONUtil;
 import io.minio.*;
 import io.minio.http.Method;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Configuration;
 import org.springframework.web.multipart.MultipartFile;
 import vip.xiaonuo.common.exception.CommonException;
+import vip.xiaonuo.common.prop.CommonProperties;
 import vip.xiaonuo.dev.api.DevConfigApi;
 import vip.xiaonuo.dev.modular.file.enums.DevFileBucketAuthEnum;
 
 import javax.activation.MimetypesFileTypeMap;
+import javax.annotation.Resource;
 import java.io.*;
 
 /**
@@ -40,8 +43,12 @@ import java.io.*;
  * @date 2022/1/2 18:13
  */
 @Slf4j
+@Configuration
 public class DevFileMinIoUtil {
 
+    @Resource
+    private CommonProperties commonProperties;
+
     private static MinioClient client;
 
     private static String defaultBucketName;
@@ -58,7 +65,7 @@ public class DevFileMinIoUtil {
      * @author xuyuxiang
      * @date 2022/1/5 23:24
      */
-    private static void initClient() {
+    private  void initClient() {
 
         DevConfigApi devConfigApi = SpringUtil.getBean(DevConfigApi.class);
 
@@ -77,9 +84,8 @@ public class DevFileMinIoUtil {
         }
 
         /* endpoint */
-        String endpoint = devConfigApi.getValueByKey(SNOWY_FILE_MINIO_END_POINT_KEY);
 
-        if(ObjectUtil.isEmpty(endpoint)) {
+        if(ObjectUtil.isEmpty(commonProperties.getMinioUrl())) {
             throw new CommonException("MINIO文件操作客户端未正确配置:secretKey为空");
         }
 
@@ -90,7 +96,7 @@ public class DevFileMinIoUtil {
             throw new CommonException("MINIO文件操作客户端未正确配置:defaultBucketName为空");
         }
 
-        client = MinioClient.builder().endpoint(endpoint).credentials(accessKey, secretKey).build();
+        client = MinioClient.builder().endpoint(commonProperties.getMinioUrl()).credentials(accessKey, secretKey).build();
     }
 
     /**
@@ -99,7 +105,7 @@ public class DevFileMinIoUtil {
      * @author xuyuxiang
      * @date 2022/6/22 18:05
      **/
-    public static String getDefaultBucketName() {
+    public  String getDefaultBucketName() {
         initClient();
         return defaultBucketName;
     }
@@ -132,7 +138,7 @@ public class DevFileMinIoUtil {
      * @author xuyuxiang
      * @date 2022/1/5 23:24
      */
-    public static boolean doesBucketExist(String bucketName) {
+    public  boolean doesBucketExist(String bucketName) {
         try {
             initClient();
             BucketExistsArgs bucketExistsArgs = BucketExistsArgs.builder().bucket(bucketName).build();
@@ -164,7 +170,7 @@ public class DevFileMinIoUtil {
      * @author xuyuxiang
      * @date 2022/1/5 23:24
      */
-    public static boolean isExistingFile(String bucketName, String key) {
+    public  boolean isExistingFile(String bucketName, String key) {
         try {
             initClient();
             GetObjectArgs getObjectArgs = GetObjectArgs.builder().bucket(bucketName).object(key).build();
@@ -184,7 +190,7 @@ public class DevFileMinIoUtil {
      * @author xuyuxiang
      * @date 2022/1/5 23:45
      */
-    public static void storageFile(String bucketName, String key, File file) {
+    public  void storageFile(String bucketName, String key, File file) {
         BufferedInputStream inputStream;
         try {
             inputStream = FileUtil.getInputStream(file);
@@ -203,7 +209,7 @@ public class DevFileMinIoUtil {
      * @author xuyuxiang
      * @date 2022/1/5 23:45
      */
-    public static void storageFile(String bucketName, String key, MultipartFile multipartFile) {
+    public  void storageFile(String bucketName, String key, MultipartFile multipartFile) {
         InputStream inputStream;
         try {
             inputStream = multipartFile.getInputStream();
@@ -222,7 +228,7 @@ public class DevFileMinIoUtil {
      * @author xuyuxiang
      * @date 2022/1/5 23:24
      */
-    public static void storageFile(String bucketName, String key, byte[] bytes) {
+    public  void storageFile(String bucketName, String key, byte[] bytes) {
         ByteArrayInputStream byteArrayInputStream = null;
         try {
             initClient();
@@ -246,7 +252,7 @@ public class DevFileMinIoUtil {
      * @author xuyuxiang
      * @date 2022/1/5 23:24
      */
-    public static void storageFile(String bucketName, String key, InputStream inputStream) {
+    public  void storageFile(String bucketName, String key, InputStream inputStream) {
         try {
             initClient();
             PutObjectArgs putObjectArgs = PutObjectArgs.builder().bucket(bucketName).object(key)
@@ -268,7 +274,7 @@ public class DevFileMinIoUtil {
      * @author xuyuxiang
      * @date 2022/1/5 23:45
      */
-    public static String storageFileWithReturnUrl(String bucketName, String key, File file) {
+    public  String storageFileWithReturnUrl(String bucketName, String key, File file) {
         storageFile(bucketName, key, file);
         setFileAcl(bucketName, key, DevFileBucketAuthEnum.PUBLIC_READ);
         return getFileAuthUrl(bucketName, key);
@@ -283,7 +289,7 @@ public class DevFileMinIoUtil {
      * @author xuyuxiang
      * @date 2022/1/5 23:45
      */
-    public static String storageFileWithReturnUrl(String bucketName, String key, MultipartFile multipartFile) {
+    public  String storageFileWithReturnUrl(String bucketName, String key, MultipartFile multipartFile) {
         storageFile(bucketName, key, multipartFile);
         setFileAcl(bucketName, key, DevFileBucketAuthEnum.PUBLIC_READ);
         return getFileAuthUrl(bucketName, key);
@@ -298,7 +304,7 @@ public class DevFileMinIoUtil {
      * @author xuyuxiang
      * @date 2022/1/5 23:24
      */
-    public static String storageFileWithReturnUrl(String bucketName, String key, byte[] bytes) {
+    public  String storageFileWithReturnUrl(String bucketName, String key, byte[] bytes) {
         storageFile(bucketName, key, bytes);
         setFileAcl(bucketName, key, DevFileBucketAuthEnum.PUBLIC_READ);
         return getFileAuthUrl(bucketName, key);
@@ -313,7 +319,7 @@ public class DevFileMinIoUtil {
      * @author xuyuxiang
      * @date 2022/1/5 23:24
      */
-    public static String storageFileWithReturnUrl(String bucketName, String key, InputStream inputStream) {
+    public  String storageFileWithReturnUrl(String bucketName, String key, InputStream inputStream) {
         storageFile(bucketName, key, inputStream);
         setFileAcl(bucketName, key, DevFileBucketAuthEnum.PUBLIC_READ);
         return getFileAuthUrl(bucketName, key);
@@ -327,7 +333,7 @@ public class DevFileMinIoUtil {
      * @author xuyuxiang
      * @date 2022/1/5 23:24
      */
-    public static byte[] getFileBytes(String bucketName, String key) {
+    public  byte[] getFileBytes(String bucketName, String key) {
         try {
             initClient();
             GetObjectArgs getObjectArgs = GetObjectArgs.builder().bucket(bucketName).object(key).build();
@@ -382,7 +388,7 @@ public class DevFileMinIoUtil {
      * @author xuyuxiang
      * @date 2022/1/5 23:24
      */
-    public static void copyFile(String originBucketName, String originFileKey, String newBucketName, String newFileKey) {
+    public  void copyFile(String originBucketName, String originFileKey, String newBucketName, String newFileKey) {
         try {
             initClient();
             CopySource copySource = CopySource.builder().bucket(originBucketName).object(originFileKey).build();
@@ -402,7 +408,7 @@ public class DevFileMinIoUtil {
      * @author xuyuxiang
      * @date 2022/1/5 23:24
      */
-    public static String getFileAuthUrl(String bucketName, String key, Long timeoutMillis) {
+    public  String getFileAuthUrl(String bucketName, String key, Long timeoutMillis) {
         try {
             initClient();
             GetPresignedObjectUrlArgs getPresignedObjectUrlArgs = GetPresignedObjectUrlArgs.builder().bucket(bucketName)
@@ -421,7 +427,7 @@ public class DevFileMinIoUtil {
      * @author xuyuxiang
      * @date 2022/1/5 23:24
      */
-    public static String getFileAuthUrl(String bucketName, String key) {
+    public  String getFileAuthUrl(String bucketName, String key) {
         try {
             initClient();
             DevConfigApi devConfigApi = SpringUtil.getBean(DevConfigApi.class);