gpt4 book ai didi

java - 使用 Apache Commons 将图像转换为 Base64

转载 作者:行者123 更新时间:2023-11-29 04:45:19 26 4
gpt4 key购买 nike

我正在使用 Sun Micro Systems 的 BASE64Encoder 将图像转换为 Base64 字符串。问题是我在构建过程中收到了我不想要的警告

Java 代码..

     public static String encodeToString(BufferedImage image, String type) {
String base64String = null;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
ImageIO.write(image, type, bos);
byte[] imageBytes = bos.toByteArray();
BASE64Encoder encoder = new BASE64Encoder();
base64String = encoder.encode(imageBytes);
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
return base64String;
}

警告:

  [javac] /Users/lucy/dev/workspace/flsv2/src/util/BufferImage.java:53: warning: BASE64Encoder is internal proprietary API and may be removed in a future release 
[javac] BASE64Encoder encoder = new BASE64Encoder();
[javac] ^
[javac] /Users/lucy/dev/workspace/flsv2/src/util/BufferImage.java:53: warning: BASE64Encoder is internal proprietary API and may be removed in a future release
[javac] BASE64Encoder encoder = new BASE64Encoder();
[javac] ^
[javac] 2 warnings

有没有办法在上面的方法中使用Apache Commons而不产生警告?请帮助..

最佳答案

请不要使用内部 com.sun.* 包。如果您使用的是 v6 或更高版本,则可以使用 DatatypeConverter .那么您的代码将如下所示。

String base64String = DatatypeConverter.printBase64Binary(baos.toByteArray());
byte[] bytearray = DatatypeConverter.parseBase64Binary(base64String);

或者,

也可以使用:java.util.Base64 Java 1.8

新增的
String base64String = new String(Base64.getEncoder().encode(bytesToEncode));
byte[] decordedValue = Base64.getDecoder().decode(base64String);

或者,你可以在下面给出的apache commons中创建一个方法调用过程

import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.StringUtils;

public String decode(String s) {
return StringUtils.newStringUtf8(Base64.decodeBase64(s));
}
public String encode(String s) {
return Base64.encodeBase64String(StringUtils.getBytesUtf8(s));
}

资源链接:

  1. > org.apache.commons.codec.binary.base64 Example
  2. > how to avoid warning for the Base 64?

关于java - 使用 Apache Commons 将图像转换为 Base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37431110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com