From 259b76217c491e7c00257e985aa70bc68dd2e757 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期四, 30 三月 2023 21:43:36 +0800 Subject: [PATCH] 获取图片改成多次获取 --- ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java | 4 +- ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java | 41 ++++++++++++-------- ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java | 4 + ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java | 50 +++++++++++++------------ 4 files changed, 55 insertions(+), 44 deletions(-) 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 6d3e490..a9ce685 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 @@ -47,7 +47,7 @@ ossClient.shutdown(); // 鎶婁笂浼犵殑鏂囦欢璺緞杩斿洖 锛堟墜鍔ㄦ嫾鎺ワ級 // 杩欓噷璁剧疆鍥剧墖鏈夋晥鏃堕棿 鎴戣缃簡30骞� - Date expiration = new Date(System.currentTimeMillis() + 946080000 * 1000); + Date expiration = new Date(System.currentTimeMillis() + (long) 946080000 * 1000); String url = ossClient.generatePresignedUrl(bucketName, fileName, expiration).toString(); return url; @@ -118,7 +118,7 @@ ossClient.shutdown(); // 鎶婁笂浼犵殑鏂囦欢璺緞杩斿洖 锛堟墜鍔ㄦ嫾鎺ワ級 // 杩欓噷璁剧疆鍥剧墖鏈夋晥鏃堕棿 鎴戣缃簡30骞� - Date expiration = new Date(System.currentTimeMillis() + 946080000 * 1000); + Date expiration = new Date(System.currentTimeMillis() + (long) 946080000 * 1000); String url = ossClient.generatePresignedUrl(bucketName, fileName, expiration).toString(); System.out.println("oss涓婁紶鎴愬姛锛�" + url); diff --git a/ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java b/ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java index d848cee..276ce3a 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java @@ -31,6 +31,8 @@ public class AlarmController { private IVideoAlarmReportService videoAlarmReportService; + private static Integer index = 0; + @Autowired private VideoUtil videoUtil; @@ -67,28 +69,33 @@ // @GetMapping(value = "/img") @ResponseBody public byte[] getImages(HttpServletResponse response, @RequestParam String fileUrl, @RequestParam String OSSAccessKeyId, @RequestParam String Signature) { + + index = 0; + return getBytes(fileUrl, OSSAccessKeyId, Signature); + + } + + private byte[] getBytes(String fileUrl, String OSSAccessKeyId, String Signature) { try { + if (index < 10) { + index++; + System.out.println("getImages鑾峰彇鍥剧墖鍦板潃锛�" + fileUrl + "&OSSAccessKeyId=" + OSSAccessKeyId + "&Signature=" + Signature); + URL url = new URL(fileUrl + "&OSSAccessKeyId=" + OSSAccessKeyId + "&Signature=" + Signature); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("GET"); + conn.setConnectTimeout(10 * 1000); + conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); - System.out.println("getImages鑾峰彇鍥剧墖鍦板潃锛�" + fileUrl + "&OSSAccessKeyId=" + OSSAccessKeyId + "&Signature=" + Signature); - URL url = new URL(fileUrl + "&OSSAccessKeyId=" + OSSAccessKeyId + "&Signature=" + Signature); - HttpURLConnection conn = (HttpURLConnection) url.openConnection(); - conn.setRequestMethod("GET"); - conn.setConnectTimeout(10 * 1000); - conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); + InputStream inputStream = conn.getInputStream();// 閫氳繃杈撳叆娴佽幏鍙栧浘鐗囨暟鎹� - InputStream inputStream = conn.getInputStream();// 閫氳繃杈撳叆娴佽幏鍙栧浘鐗囨暟鎹� + byte[] data = readInputStream(inputStream); + System.out.println("getImages鑾峰彇鍥剧墖鎴愬姛"); - - byte[] data = readInputStream(inputStream); - System.out.println("getImages鑾峰彇鍥剧墖鎴愬姛"); - - - System.out.println("getImages -鍥剧墖64"); - System.out.println(Base64.getEncoder().encodeToString(data)); - return data; - + return data; + } } catch (Exception e) { - System.out.println("getImages鑾峰彇鍥剧墖澶辫触锛�" + e.getMessage()); + System.out.println(index + "getImages鑾峰彇鍥剧墖澶辫触锛�" + e.getMessage()); + getBytes(fileUrl, OSSAccessKeyId, Signature); // e.printStackTrace(); } return null; diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java index 6c5b489..8794a56 100644 --- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java @@ -61,7 +61,9 @@ public void saveFromVideo(List<VideoAlarmReport> videoAlarmReports) { for (VideoAlarmReport videoAlarmReport : videoAlarmReports) { VideoPoint videoPoint = null; - LambdaQueryWrapper<VideoPoint> queryWrapper = new LambdaQueryWrapper<VideoPoint>().eq(VideoPoint::getPlatResourceId, videoAlarmReport.getPlatResourceId()); + LambdaQueryWrapper<VideoPoint> queryWrapper = new LambdaQueryWrapper<VideoPoint>() + .eq(VideoPoint::getPlatResourceId, videoAlarmReport.getPlatResourceId()) + .or().eq(VideoPoint::getCode, videoAlarmReport.getPlatResourceId()); List<VideoPoint> pointList = videoPointService.list(queryWrapper); if (pointList.size() > 0) { videoPoint = pointList.get(0); 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 e7f2d55..5873897 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 @@ -147,37 +147,38 @@ InputStream inputStream = new ByteArrayInputStream(data); try { // 濡傛灉List<AlarmDataParam>鍚堢悊 - if (alarmParam.getAlarmData()!=null && alarmParam.getAlarmData().size()!=0) { + if (alarmParam.getAlarmData() != null && alarmParam.getAlarmData().size() != 0) { - BufferedImage image = ImageIO.read(inputStream); - Graphics2D g2 = (Graphics2D) image.getGraphics(); - g2.setColor(Color.RED); - g2.setStroke(new BasicStroke(3.0f)); + BufferedImage image = ImageIO.read(inputStream); + Graphics2D g2 = (Graphics2D) image.getGraphics(); + g2.setColor(Color.RED); + g2.setStroke(new BasicStroke(3.0f)); - List<AlarmDataParam> alarmData = alarmParam.getAlarmData(); + List<AlarmDataParam> alarmData = alarmParam.getAlarmData(); - alarmData.forEach(new Consumer<AlarmDataParam>() { - @Override - public void accept(AlarmDataParam alarmDataParam) { - List<AlarmObject> alarmObject = alarmDataParam.getAlarmObject(); - alarmObject.forEach(new Consumer<AlarmObject>() { - @Override - public void accept(AlarmObject alarmObject) { - ObjectRect rect = alarmObject.getObjectRect(); - g2.drawRect(rect.getX(), rect.getY(), rect.getW(), rect.getH()); - } - }); - } - }); + alarmData.forEach(new Consumer<AlarmDataParam>() { + @Override + public void accept(AlarmDataParam alarmDataParam) { + List<AlarmObject> alarmObject = alarmDataParam.getAlarmObject(); + alarmObject.forEach(new Consumer<AlarmObject>() { + @Override + public void accept(AlarmObject alarmObject) { + ObjectRect rect = alarmObject.getObjectRect(); + g2.drawRect(rect.getX(), rect.getY(), rect.getW(), rect.getH()); + } + }); + } + }); - ByteArrayOutputStream os = new ByteArrayOutputStream(); - ImageIO.write(image, extension, os); - inputStream = new ByteArrayInputStream(os.toByteArray()); + ByteArrayOutputStream os = new ByteArrayOutputStream(); + ImageIO.write(image, extension, os); + inputStream = new ByteArrayInputStream(os.toByteArray()); } picData = ossService.uploadImages(inputStream, extension); } catch (Exception e) { - e.printStackTrace(); + System.out.println("淇濆瓨鎶ヨ鏁版嵁澶辫触---鍥剧墖涓婁紶澶辫触锛�" + e.getMessage()); +// e.printStackTrace(); } } List<VideoAlarmReport> videoAlarmReports = new ArrayList<>(); @@ -211,7 +212,8 @@ this.updateById(videoAlarmReport); } } catch (ParseException e) { - e.printStackTrace(); + System.out.println("淇濆瓨鎶ヨ鏁版嵁澶辫触锛�" + e.getMessage()); +// e.printStackTrace(); } } } -- Gitblit v1.8.0