From e986bd63309fba70f7f3cfaf70aadec46220917b Mon Sep 17 00:00:00 2001 From: baizonghao <1719256278@qq.com> Date: 星期四, 30 三月 2023 20:06:12 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-platform/src/main/java/com/ycl/controller/platformApi/AlarmController.java | 50 ++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 42 insertions(+), 8 deletions(-) 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 f467ad8..d848cee 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 @@ -16,10 +16,11 @@ import javax.servlet.http.HttpServletResponse; import java.io.ByteArrayOutputStream; +import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; +import java.util.Base64; /** * @author admin @@ -28,8 +29,6 @@ @RestController @RequestMapping("/API") public class AlarmController { - - private IVideoAlarmReportService videoAlarmReportService; @Autowired @@ -64,27 +63,62 @@ @ApiOperation(value = "鑾峰彇鍥剧墖") - @GetMapping(value = "/img", produces = MediaType.IMAGE_PNG_VALUE) + @GetMapping(value = "/img", produces = {MediaType.IMAGE_JPEG_VALUE, MediaType.IMAGE_PNG_VALUE}) +// @GetMapping(value = "/img") @ResponseBody - public byte[] getImages(HttpServletResponse response, @RequestParam String fileUrl) { + public byte[] getImages(HttpServletResponse response, @RequestParam String fileUrl, @RequestParam String OSSAccessKeyId, @RequestParam String Signature) { try { - URL url = new URL(fileUrl); + + 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(5 * 1000); + conn.setConnectTimeout(10 * 1000); conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); 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) { - e.printStackTrace(); + System.out.println("getImages鑾峰彇鍥剧墖澶辫触锛�" + e.getMessage()); + // e.printStackTrace(); } return null; } + private static String inputStream2Base64(InputStream is) throws Exception { + byte[] data = null; + try { + ByteArrayOutputStream swapStream = new ByteArrayOutputStream(); + byte[] buff = new byte[100]; + int rc = 0; + while ((rc = is.read(buff, 0, 100)) > 0) { + swapStream.write(buff, 0, rc); + } + data = swapStream.toByteArray(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + if (is != null) { + try { + is.close(); + } catch (IOException e) { + throw new Exception("杈撳叆娴佸叧闂紓甯�"); + } + } + } + + return Base64.getEncoder().encodeToString(data); + } + private byte[] readInputStream(InputStream inStream) throws Exception { ByteArrayOutputStream outStream = new ByteArrayOutputStream(); //鍒涘缓涓�涓狟uffer瀛楃涓� -- Gitblit v1.8.0