From ddca0f4eb4d076a03478de083fcbe5d452d6183e Mon Sep 17 00:00:00 2001 From: sige Date: Mon, 29 Jan 2024 15:33:18 +0800 Subject: [PATCH] ~~ --- .../com/my/graphiteDigesterBg/api/ApiCamera.java | 29 +++++++++++++++++++--- src/src/main/resources/application-dev.yml | 3 +++ .../src/pages/main/contents/OperationCamera.vue | 2 +- 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/src/main/java/com/my/graphiteDigesterBg/api/ApiCamera.java b/src/src/main/java/com/my/graphiteDigesterBg/api/ApiCamera.java index 300740c..18b6aa5 100644 --- a/src/src/main/java/com/my/graphiteDigesterBg/api/ApiCamera.java +++ b/src/src/main/java/com/my/graphiteDigesterBg/api/ApiCamera.java @@ -1,21 +1,42 @@ package com.my.graphiteDigesterBg.api; import com.my.graphiteDigesterBg.diframe.DiApiControllerBase; import com.my.graphiteDigesterBg.diframe.DiApiResponse; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.ResponseBody; + +import java.io.File; +import java.io.FileInputStream; import java.nio.ByteBuffer; import java.util.Base64; +import java.util.HashMap; import java.util.Map; @Controller public class ApiCamera extends DiApiControllerBase { + @Value("${camera.image-path}") + private String imagePath; + @ResponseBody @PostMapping("/api/camera/image") public DiApiResponse getImage() { -// ByteBuffer buffer = ByteBuffer.allocate(1024); -// byte[] bytes = buffer.array(); -// String base64Text = Base64.getEncoder().encodeToString(bytes); - String base64Data = "data:image/image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAUCAYAAACJfM0wAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAH8SURBVDiNtZM/aBNxFMc/791PLJihQ4QMFhJQ7ODgmIJDbxAEXQoJuAqSzOLSQ4c4lFAoOGSQdHEtpOBSQXDo4pChg2NBQQfBDBkyKLRw93sOl1KT3LVC4ne5433f+7w/x0GO2t39Tnu3d5jr7/YO2939Tp4vAK3X75avXosf+sTfOjNUFTx4fGahoqDg/bmvgX45/e3et55tjGTrzd4dleAjQmmi0hNC/B113zLJPq6AK6NMbmUMvCX3nQZBB5uCziOhpBp0HMZ6ZkLAc/yVIVg2QN0LhFKmbay73M7GIyQHmuppXk+AM/AnYnuCJvFFpEvlA4eTt8C9M3BRHLe9BL/m4apSMCjC+cSrhhxcvPnl+rtc50PlK/PjiUjfsBOMVaAEnCD0x2NVgSVggHAsyJKZVacZsxOb9DcbtbWoUQ9Vkw0A7/121KiHUaMeeu+3AVSTjahRDzcbtTVM+jPDtbu9ycsaMUJ//LwB3DQYifE57ctdgWXgK8YPBIdRRSa3nz1FmlBGJAYrpiEKiJTTdyuMM0uIODA3Dc08hcBR1KyvRM1aJTEJ05jsRM1aJWrWKoLsACQmYRqrrwgc/esp9jCLgVVEqhgDsA/jkgfpr2x94BgRh/F4eupZ8IKkAqP/wB2qGd3Fc62rp4PiS7AtYLgA4tDDq9Of11t/AC8CsohkwY6rAAAAAElFTkSuQmCC"; + Map response = new HashMap<>(); + response.put("data", null); + File file = new File(this.imagePath); + if ( !file.exists() ) { + return this.success(response); + } + + byte[] bytes = new byte[(int)file.length()]; + try { + FileInputStream fis = new FileInputStream(file); + fis.read(bytes); + fis.close(); + } catch (Exception e) { + throw new RuntimeException(e); + } + String base64Image = Base64.getEncoder().encodeToString(bytes); + String base64Data = "data:image/image/png;base64," + base64Image; return this.success(Map.of("data",base64Data)); } } diff --git a/src/src/main/resources/application-dev.yml b/src/src/main/resources/application-dev.yml index bbfa7f4..cfd1d4a 100644 --- a/src/src/main/resources/application-dev.yml +++ b/src/src/main/resources/application-dev.yml @@ -8,6 +8,9 @@ spring: server: port: 8080 +camera: + image-path: D:/image.png + #mybatis: # configuration: # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl diff --git a/src/web/src/pages/main/contents/OperationCamera.vue b/src/web/src/pages/main/contents/OperationCamera.vue index fa40128..6ee06ec 100644 --- a/src/web/src/pages/main/contents/OperationCamera.vue +++ b/src/web/src/pages/main/contents/OperationCamera.vue @@ -1,6 +1,6 @@