From 4e4bcc8e95fef11e695d476da4e761399d3c7247 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 19 十一月 2024 09:49:52 +0800
Subject: [PATCH] json传输byte[]数组,转换为base64编码

---
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java |    4 +++-
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeTaskVo.java                |    3 ++-
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java            |    5 +++--
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeTaskVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeTaskVo.java
index b4d0d16..e6ea9c8 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeTaskVo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeTaskVo.java
@@ -15,6 +15,7 @@
     public String softFileName ;//鍗囩骇绋嬪簭鏂囦欢鍚�
     public String softStoreAddr ;//鍗囩骇绋嬪簭瀛樻斁鍦板潃
     public String softStartAddr ;//绋嬪簭瑕嗙洊璧峰鍦板潃
+    public String softFileData64 ;//鏈夋晥鍗囩骇绋嬪簭瀛楄妭鏁扮粍
     public byte[] softFileData ;//鏈夋晥鍗囩骇绋嬪簭瀛楄妭鏁扮粍
     public Integer softBytesCalculate ;//鏍规嵁鍏紡璁$畻寰楀埌鐨勬湁鏁堝崌绾х▼搴忓瓧鑺傛暟
     public Integer softByteSrc16 ;//鏈夋晥鍗囩骇绋嬪簭瀛楄妭鏁癈RC16鏍¢獙鍊�
@@ -27,7 +28,7 @@
                 "   鍗囩骇绋嬪簭鏂囦欢鍚�=" + softFileName + "\n" +
                 "   鍗囩骇绋嬪簭瀛樻斁鍦板潃=" + softStoreAddr + "\n" +
                 "   绋嬪簭瑕嗙洊璧峰鍦板潃=" + softStartAddr + "\n" +
-                "   鏈夋晥鍗囩骇绋嬪簭瀛楄妭鏁�=" + softFileData.length + "\n" +
+                "   鏈夋晥鍗囩骇绋嬪簭瀛楄妭鏁�(base64)=" + softFileData64 + "\n" +
                 "   鍏紡璁$畻绋嬪簭瀛楄妭鏁�=" + softBytesCalculate +
                 "   绋嬪簭CRC16鏍¢獙鍊�=" + softByteSrc16 + "\n" +
                 "   鍗囩骇鎺у埗鍣ㄦ暟閲�=" + rtuAddrList.size() + "\n" +
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
index a8a05fc..5ac27f0 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
@@ -76,7 +76,7 @@
         if(taskVo.softStartAddr == null || taskVo.softStartAddr.trim().length() != 8){
             throw new Exception("绋嬪簭瑕嗙洊璧峰鍦板潃涓嶅悎娉曪紝蹇呴』鏄�8瀛楃锛堝崄鍏繘鍒讹級鐨勫瓧绗︿覆") ;
         }
-        if(taskVo.softFileData == null || taskVo.softFileData.length <= 0){
+        if(taskVo.softFileData64 == null || taskVo.softFileData64.trim().length() == 0){
             throw new Exception("鍗囩骇绋嬪簭鍐呭蹇呴』鎻愪緵") ;
         }
         if(taskVo.softBytesCalculate == null){
@@ -96,7 +96,8 @@
         this.taskVo = taskVo ;
 
         this.upgradeRtus = new HashMap<>();
-        if(taskVo.softFileData != null && taskVo.softFileData.length >0){
+        if(taskVo.softFileData64 != null && taskVo.softFileData64.trim().equals("")){
+            taskVo.softFileData = Base64.getDecoder().decode(taskVo.softFileData64);
             List<byte[]> listBytes = new HexFileParse().splitBytesByUnit512(taskVo.softFileData);
             this.softFileDataGrp = listBytes.toArray(new byte[0][]);
             for(String rtuAddr : this.taskVo.rtuAddrList){
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java
index 5c123a3..da10742 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java
@@ -29,6 +29,7 @@
 import org.springframework.web.client.RestTemplate;
 
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.List;
 
 /**
@@ -118,7 +119,8 @@
         vo.softFileName = ppo.hexFileName ;
         vo.softStoreAddr = ppo.storeRamAddr ;
         vo.softStartAddr = ppo.startRamAddr ;
-        vo.softFileData = ppo.programBytes ;
+        vo.softFileData64 = Base64.getEncoder().encodeToString(ppo.programBytes) ;
+        //vo.softFileData = ppo.programBytes ;
         vo.softBytesCalculate = ppo.programCalculateBytes ;
         vo.softByteSrc16 = ppo.programCrc16 ;
     }

--
Gitblit v1.8.0