From 0289c3a17054bcbf8f6ef5d5eaab6a1ddcaf5887 Mon Sep 17 00:00:00 2001
From: baizonghao <1719256278@qq.com>
Date: 星期一, 06 三月 2023 09:00:20 +0800
Subject: [PATCH] oss添加service

---
 ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java                  |   34 ++++++++++++++++++++++++++++++++++
 ycl-common/src/main/java/com/ycl/service/oss/OssService.java                           |    4 ++++
 ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java |    6 +++++-
 3 files changed, 43 insertions(+), 1 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/service/oss/OssService.java b/ycl-common/src/main/java/com/ycl/service/oss/OssService.java
index 33f597f..65371d7 100644
--- a/ycl-common/src/main/java/com/ycl/service/oss/OssService.java
+++ b/ycl-common/src/main/java/com/ycl/service/oss/OssService.java
@@ -2,6 +2,8 @@
 
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.InputStream;
+
 public interface OssService {
     /**
      * 涓婁紶鍥剧墖
@@ -16,4 +18,6 @@
      * @return
      */
     boolean deleteImages(String fileUrl);
+
+    String uploadImages(InputStream inputStream, String ext);
 }
diff --git a/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
index 47a1246..79b2aca 100644
--- a/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
@@ -9,7 +9,9 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.ByteArrayInputStream;
+import java.io.InputStream;
 import java.util.Date;
+import java.util.UUID;
 
 @Service
 public class OssServiceImpl implements OssService {
@@ -62,6 +64,38 @@
         return true;
     }
 
+    @Override
+    public String uploadImages(InputStream inputStream, String ext) {
+        String endpoint = ConstantPropertiesUtils.END_POINT;
+        String accessKeyId = ConstantPropertiesUtils.ACCESS_KEY_ID;
+        String accessKeySecret = ConstantPropertiesUtils.ACCESS_KEY_SECRET;
+        String bucketName = ConstantPropertiesUtils.BUCKET_NAME;
+
+        // 鍒涘缓OSSClient瀹炰緥銆�
+        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
+        // 涓婁紶鏂囦欢娴�
+        try {
+            // 鑾峰彇鏂囦欢鐨勫悕绉�
+            String fileName = String.valueOf(UUID.randomUUID());
+            ObjectMetadata objectMetadata = new ObjectMetadata();
+            objectMetadata.setContentType(getcontentType(ext));
+            // 璋冪敤oss鐨勬柟娉曞疄鐜伴暱浼�
+            // 绗竴涓弬鏁� bucketName
+            // 绗簩涓弬鏁� 涓婁紶鍒皁ss鐨勬枃浠惰矾寰勫拰鏂囦欢鍚嶇О
+            ossClient.putObject(bucketName, fileName, inputStream,objectMetadata);
+            // 鍏抽棴OSSClient銆�
+            ossClient.shutdown();
+            // 鎶婁笂浼犵殑鏂囦欢璺緞杩斿洖 锛堟墜鍔ㄦ嫾鎺ワ級
+            // 杩欓噷璁剧疆鍥剧墖鏈夋晥鏃堕棿 鎴戣缃簡30骞�
+            Date expiration = new Date(System.currentTimeMillis() + 946080000 * 1000);
+            String url = ossClient.generatePresignedUrl(bucketName, fileName, expiration).toString();
+            return url;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
     public static String getcontentType(String FilenameExtension) {
         if (FilenameExtension.equalsIgnoreCase(".bmp")) {
             return "image/bmp";
diff --git a/ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java
index 51d7f17..058655d 100644
--- a/ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java
@@ -9,6 +9,7 @@
 import com.ycl.entity.video.VideoAlarmReport;
 import com.ycl.mapper.video.VideoAlarmReportMapper;
 import com.ycl.service.caseHandler.IViolationsService;
+import com.ycl.service.oss.OssService;
 import com.ycl.service.video.IVideoAlarmReportService;
 import com.ycl.utils.MediaFileUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -43,6 +44,9 @@
 
     private MediaFileUtil mediaFileUtil;
     private IViolationsService violationsService;
+
+    @Autowired
+    private OssService ossService;
 
     @Autowired
     public void setMediaFileUtil(MediaFileUtil mediaFileUtil) {
@@ -172,7 +176,7 @@
                             inputStream = new ByteArrayInputStream(os.toByteArray());
 
                     }
-                    picData = mediaFileUtil.savePicture(inputStream, extension);
+                    picData = ossService.uploadImages(inputStream, extension);
                 } catch (Exception e) {
                     e.printStackTrace();
                 }

--
Gitblit v1.8.0