From c7c6cc9b7d08be8e28c41e9dd24fa5c247f1246c Mon Sep 17 00:00:00 2001 From: divenswu Date: Fri, 18 Mar 2022 13:09:16 +0800 Subject: [PATCH] =?UTF-8?q?update:=E4=BF=AE=E5=A4=8D=E7=94=B1=E4=BA=8E?= =?UTF-8?q?=E9=AB=98=E7=89=88=E6=9C=ACJDK=E5=88=A0=E9=99=A4sun.misc.*?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=9A=84=E7=A8=8B=E5=BA=8F=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/visual/face/search/core/domain/ImageMat.java | 9 ++++++--- .../java/com/visual/face/search/core/utils/MatUtil.java | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/face-search-core/src/main/java/com/visual/face/search/core/domain/ImageMat.java b/face-search-core/src/main/java/com/visual/face/search/core/domain/ImageMat.java index e61f2a8..2588dad 100644 --- a/face-search-core/src/main/java/com/visual/face/search/core/domain/ImageMat.java +++ b/face-search-core/src/main/java/com/visual/face/search/core/domain/ImageMat.java @@ -9,7 +9,6 @@ import org.opencv.dnn.Dnn; import org.opencv.highgui.HighGui; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; -import sun.misc.BASE64Decoder; import javax.imageio.ImageIO; import java.awt.*; @@ -20,6 +19,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.Serializable; import java.util.ArrayList; +import java.util.Base64; /** * 图片加载工具 @@ -66,8 +66,11 @@ public class ImageMat implements Serializable { public static ImageMat fromBase64(String base64Str){ InputStream inputStream = null; try { - BASE64Decoder decoder = new BASE64Decoder(); - byte[] data = decoder.decodeBuffer(base64Str); + // 新版本JDK被移除,替换为Base64.Decoder + // BASE64Decoder decoder = new BASE64Decoder(); + // byte[] data = decoder.decodeBuffer(base64Str); + Base64.Decoder decoder = Base64.getMimeDecoder(); + byte[] data = decoder.decode(base64Str); inputStream = new ByteArrayInputStream(data); return fromInputStream(inputStream); }catch (Exception e){ diff --git a/face-search-core/src/main/java/com/visual/face/search/core/utils/MatUtil.java b/face-search-core/src/main/java/com/visual/face/search/core/utils/MatUtil.java index 8757957..a43672d 100644 --- a/face-search-core/src/main/java/com/visual/face/search/core/utils/MatUtil.java +++ b/face-search-core/src/main/java/com/visual/face/search/core/utils/MatUtil.java @@ -1,10 +1,10 @@ package com.visual.face.search.core.utils; import org.opencv.core.Mat; -import sun.misc.BASE64Encoder; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; +import java.util.Base64; import java.util.Objects; public class MatUtil { @@ -42,8 +42,11 @@ public class MatUtil { byteArrayOutputStream = new ByteArrayOutputStream(); ImageIO.write(matToBufferedImage(mat), "jpg", byteArrayOutputStream); byte[] bytes = byteArrayOutputStream.toByteArray(); - BASE64Encoder encoder = new BASE64Encoder(); - return encoder.encodeBuffer(Objects.requireNonNull(bytes)); + // 新版本JDK被移除,替换为Base64.Encoder +// BASE64Encoder encoder = new BASE64Encoder(); +// return encoder.encodeBuffer(Objects.requireNonNull(bytes)); + Base64.Encoder encoder = Base64.getMimeEncoder(); + return encoder.encodeToString(Objects.requireNonNull(bytes)); }catch (Exception e){ throw new RuntimeException(e); }finally {