zhanghua
2023-03-30 259b76217c491e7c00257e985aa70bc68dd2e757
获取图片改成多次获取
4个文件已修改
35 ■■■■■ 已修改文件
ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,8 +69,16 @@
//    @GetMapping(value = "/img")
    @ResponseBody
    public byte[] getImages(HttpServletResponse response, @RequestParam String fileUrl, @RequestParam String OSSAccessKeyId, @RequestParam String Signature) {
        try {
        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();
@@ -78,17 +88,14 @@
            InputStream inputStream = conn.getInputStream();// 通过输入流获取图片数据
            byte[] data = readInputStream(inputStream);
            System.out.println("getImages获取图片成功");
            System.out.println("getImages -图片64");
            System.out.println(Base64.getEncoder().encodeToString(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
@@ -177,7 +177,8 @@
                    }
                    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();
                }
            }
        }