关于JAVA11中图片与BASE64相互转换的实现

网友投稿 232 2023-01-21

关于JAVA11中图片与BASE64相互转换的实现

由于jdk 1.8 之后sun.misc 包下的 BASE64Decode的依赖 被移除

我们需要在自己的项目中引入EncodeUtils 工具类 帮助我们进行转换

public class EncodeUtils {

private static final String DEFAULT_URL_ENCODING = "UTF-8";

/**

* Base64编码.

*/

public static String base64Encode(byte[] input) {

return new String(Base64.encodeBase64(input));

}

/**

* Base64解码.

*/

public static byte[] base64Decode(String input) {

return Base64.decodeBase64(input);

}

}

在项目中测试

直接调用工具类中的方法即可

/***

*

* description: base64字符串转图片

*

* @see

*/

static void base64StringToImage(String base64String) {

try {

byte[] bytes1 = EncodeUtils.base64Decode(base64String);

ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);

BufferedImage bi1 = ImageIO.read(bais);

File f1 = new File("F:/wpcache/test/test.jpg");

ImageIO.write(bi1, "jpg", f1);

} catch (IOException e) {

e.printStackTrace();

}

}

/***

*

* description:图片转base64字符串:

*

* @see

*/

public static String getImgStr(String imgFile) {

// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理

InputStream in = null;

byte[] data = null;

// 读取图片字节数组

try {

in = new FileInputStream(imgFile);

data = new byte[in.available()];

in.read(data);

in.close();

} catch (IOException e) {

e.prinJpKakwFlAXtStackTrace();

}

return EncodeUtils.base64Encode(data);

}

在main方法中运行

public static void main(String[] args) {

String base64Str = getImgStr("F:/wpcache/2.jpg");

System.out.println(base64Str);

base64StringToImage(base64Str);

}

运行结果

图片转BASE64 效果图

BASE64 转图片 效果图

(注:这个生成的图片路径就是自己在base64StringToImage 方法中的路径)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:开源视频电影api(开源的视频网站)
下一篇:IntelliJ IDEA使用git初始化仓库的使用方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~