浏览代码

集成minio

wangwl 1 月之前
父节点
当前提交
59d3616bf4

+ 2 - 0
leromro-admin/src/main/java/com/leromro/LeromroApplication.java

@@ -1,5 +1,6 @@
 package com.leromro;
 
+import org.dromara.x.file.storage.spring.EnableFileStorage;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@@ -9,6 +10,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
  * 
  * @author ruoyi
  */
+@EnableFileStorage
 @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
 public class LeromroApplication
 {

+ 15 - 8
leromro-admin/src/main/java/com/leromro/web/controller/common/CommonController.java

@@ -4,6 +4,9 @@ import java.util.ArrayList;
 import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import org.dromara.x.file.storage.core.FileInfo;
+import org.dromara.x.file.storage.core.FileStorageService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,6 +38,9 @@ public class CommonController
     @Autowired
     private ServerConfig serverConfig;
 
+    @Autowired
+    private FileStorageService fileStorageService;
+
     private static final String FILE_DELIMETER = ",";
 
     /**
@@ -77,15 +83,16 @@ public class CommonController
     {
         try
         {
-            // 上传文件路径
-            String filePath = RuoYiConfig.getUploadPath();
-            // 上传并返回新文件名称
-            String fileName = FileUploadUtils.upload(filePath, file);
-            String url = serverConfig.getUrl() + fileName;
+//            // 上传文件路径
+//            String filePath = RuoYiConfig.getUploadPath();
+//            // 上传并返回新文件名称
+//            String fileName = FileUploadUtils.upload(filePath, file);
+//            String url = serverConfig.getUrl() + fileName;
+            FileInfo fileInfo = fileStorageService.of(file).upload();
             AjaxResult ajax = AjaxResult.success();
-            ajax.put("url", url);
-            ajax.put("fileName", fileName);
-            ajax.put("newFileName", FileUtils.getName(fileName));
+            ajax.put("url", fileInfo.getUrl());
+            ajax.put("fileName", fileInfo.getFilename());
+            ajax.put("newFileName", fileInfo.getFilename());
             ajax.put("originalFilename", file.getOriginalFilename());
             return ajax;
         }

+ 21 - 5
leromro-admin/src/main/resources/application.yml

@@ -13,6 +13,22 @@ ruoyi:
   # 验证码类型 math 数字计算 char 字符验证
   captchaType: math
 
+dromara:
+  x-file-storage: #文件存储配置
+    default-platform: minio-1 #默认使用的存储平台
+    thumbnail-suffix: ".min.jpg" #缩略图后缀,例如【.min.jpg】【.png】
+    #对应平台的配置写在这里,注意缩进要对齐
+    minio:
+      - platform: minio-1 # 存储平台标识
+        enable-storage: true  # 启用存储
+        access-key: NQpPX8xgjXp3IZTHhdKd
+        secret-key: VtLQcV3DJsEwq0eBUPg2aM87xviKEjfKLSrrvCN3
+        end-point: http://1.95.212.35:9000
+        bucket-name: leromro
+        domain: http://1.95.212.35:9000/leromro/ # 访问域名,注意“/”结尾,例如:http://minio.abc.com/abc/
+        base-path: test/ # 基础路径
+
+
 # 开发环境配置
 server:
   # 服务器的HTTP端口,默认为8080
@@ -74,7 +90,7 @@ spring:
     # 数据库索引
     database: 0
     # 密码
-    # password: 123456
+    password: 123456
     # 连接超时时间
     timeout: 10s
     lettuce:
@@ -125,7 +141,7 @@ xss:
   urlPatterns: /system/*,/monitor/*,/tool/*
 wx:
   url: https://api.weixin.qq.com
-  app-id: wxf8cc1f7fffc41354
-  secret: 36a6c5c2148e1c16a33a59279fed0378
-#  app-id: wx0173594f259dadc6
-#  secret: 4fd3e8dbc1a3fdc73b45baf1c095d5e8
+#  app-id: wxf8cc1f7fffc41354
+#  secret: 36a6c5c2148e1c16a33a59279fed0378
+  app-id: wxd757c9902b8d10d9
+  secret: 8743a3bc9611c8d145d2679141e58dd4

+ 12 - 0
leromro-common/pom.xml

@@ -147,6 +147,18 @@
             <artifactId>knife4j-spring-boot-starter</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>org.dromara.x-file-storage</groupId>
+            <artifactId>x-file-storage-spring</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>io.minio</groupId>
+            <artifactId>minio</artifactId>
+        </dependency>
+
+
+
     </dependencies>
 
 </project>

+ 17 - 0
pom.xml

@@ -252,6 +252,23 @@
                 <version>5.8.36</version>
             </dependency>
 
+            <dependency>
+                <groupId>org.dromara.x-file-storage</groupId>
+                <artifactId>x-file-storage-spring</artifactId>
+                <version>2.2.1</version>
+            </dependency>
+
+            <dependency>
+                <groupId>io.minio</groupId>
+                <artifactId>minio</artifactId>
+                <version>8.5.2</version>
+            </dependency>
+            <dependency>
+                <groupId>com.squareup.okhttp3</groupId>
+                <artifactId>okhttp</artifactId>
+                <version>4.8.1</version>
+            </dependency>
+
         </dependencies>
     </dependencyManagement>