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); 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; 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); 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(); } } }