From 079041267873a043486db99671326e5323934c57 Mon Sep 17 00:00:00 2001
From: liusuyi <13324259@qq.com>
Date: 星期日, 16 七月 2023 16:16:38 +0800
Subject: [PATCH] 增加融云业务上传用户头像接口

---
 ard-work/src/main/java/com/ruoyi/rongcloud/controller/RongCloudController.java |   15 ++++++++++++++-
 ard-work/src/main/java/com/ruoyi/device/hiksdk/util/minio/MinioUtils.java      |   15 ++++++++++++---
 2 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/util/minio/MinioUtils.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/util/minio/MinioUtils.java
index 36f8fa5..81fa418 100644
--- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/util/minio/MinioUtils.java
+++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/util/minio/MinioUtils.java
@@ -1,5 +1,6 @@
 package com.ruoyi.device.hiksdk.util.minio;
 
+import com.ruoyi.common.utils.uuid.IdUtils;
 import com.ruoyi.device.hiksdk.config.MinioClientSingleton;
 import io.minio.*;
 import io.minio.http.Method;
@@ -149,12 +150,16 @@
         }
         boolean exsit = exitsBucket(bucketName);
         if (!exsit) {
-            log.error(bucketName + "-妗朵笉瀛樺湪");
+            boolean bucket = createBucket(bucketName);
+            if(bucket)
+            {
+                log.info(bucketName + "-妗朵笉瀛樺湪,鎴愬姛鍒涘缓妗�");
+            }
         }
         //鏂囦欢鍚�
         String originalFilename = file.getOriginalFilename();
         //鏂扮殑鏂囦欢鍚�
-        String fileName = UUID.randomUUID().toString().replace("-", "") + originalFilename;
+        String fileName = IdUtils.fastSimpleUUID()+"_"+ originalFilename;
         try {
             InputStream inputStream = file.getInputStream();
             /*涓婁紶瀵硅薄*/
@@ -172,8 +177,11 @@
                     .builder()
                     .bucket(bucketName)
                     .object(fileName)
+                    .method(Method.GET)
                     .build();
-            return MinioClientSingleton.getMinioClient().getPresignedObjectUrl(getPresignedObjectUrlArgs);
+            String presignedObjectUrl = MinioClientSingleton.getMinioClient().getPresignedObjectUrl(getPresignedObjectUrlArgs);
+            String ObjectUrl  = presignedObjectUrl.substring(0, presignedObjectUrl.indexOf("?"));
+            return ObjectUrl;
         } catch (Exception ex) {
             log.error("涓婁紶瀵硅薄杩斿洖url寮傚父锛�" + ex.getMessage());
         }
@@ -425,6 +433,7 @@
             return false;
         }
     }
+
     /**
      *@鎻忚堪 鑾峰彇妗朵腑鎵�鏈夊璞�
      *@鍙傛暟 [bucketName]
diff --git a/ard-work/src/main/java/com/ruoyi/rongcloud/controller/RongCloudController.java b/ard-work/src/main/java/com/ruoyi/rongcloud/controller/RongCloudController.java
index 0659a99..2c6f762 100644
--- a/ard-work/src/main/java/com/ruoyi/rongcloud/controller/RongCloudController.java
+++ b/ard-work/src/main/java/com/ruoyi/rongcloud/controller/RongCloudController.java
@@ -2,11 +2,16 @@
 
 import com.ruoyi.common.annotation.Anonymous;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.device.hiksdk.config.MinioClientSingleton;
+import com.ruoyi.device.hiksdk.util.minio.MinioUtils;
 import com.ruoyi.rongcloud.service.RongCloudService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 
@@ -20,15 +25,23 @@
 @RestController
 @Api(tags = "铻嶄簯鎺ュ彛")
 @Anonymous
+@RequestMapping("/rongCloud")
 public class RongCloudController {
     @Resource
     RongCloudService rongCloudService;
 
-    @GetMapping("getToken")
+    @GetMapping("/getToken")
     @ApiOperation("鑾峰彇token")
     public AjaxResult getToken(String userId,String name)
     {
         String token = rongCloudService.getToken(userId, name);
         return AjaxResult.success(token);
     }
+    @PostMapping("/uploadPic")
+    @ApiOperation("涓婁紶鍥剧墖")
+    public AjaxResult uploadPic(MultipartFile file)
+    {
+        String url = MinioUtils.putObjectAndGetUrl("useravatar", file);
+        return AjaxResult.success(url);
+    }
 }

--
Gitblit v1.9.3