mirror of
https://gitee.com/open-visual/face-search.git
synced 2025-06-25 19:27:14 +08:00
update:修复由于高版本JDK删除sun.misc.*导致的程序报错的BUG
This commit is contained in:
parent
1352ef80a0
commit
c7c6cc9b7d
@ -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){
|
||||
|
@ -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 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user