liusuyi
2023-07-16 079041267873a043486db99671326e5323934c57
增加融云业务上传用户头像接口
已修改2个文件
30 ■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/device/hiksdk/util/minio/MinioUtils.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/rongcloud/controller/RongCloudController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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]
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);
    }
}