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