關于JAVA11中圖片與BASE64相互轉(zhuǎn)換的實現(xiàn)
由于jdk 1.8 之后sun.misc 包下的 BASE64Decode的依賴 被移除
我們需要在自己的項目中引入EncodeUtils 工具類 幫助我們進行轉(zhuǎn)換
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);
}
}
在項目中測試
直接調(diào)用工具類中的方法即可
/***
* <p>
* description: base64字符串轉(zhuǎn)圖片
* <p>
* @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();
}
}
/***
* <p>
* description:圖片轉(zhuǎn)base64字符串:
* <p>
* @see
*/
public static String getImgStr(String imgFile) {
// 將圖片文件轉(zhuǎn)化為字節(jié)數(shù)組字符串,并對其進行Base64編碼處理
InputStream in = null;
byte[] data = null;
// 讀取圖片字節(jié)數(shù)組
try {
in = new FileInputStream(imgFile);
data = new byte[in.available()];
in.read(data);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
return EncodeUtils.base64Encode(data);
}
在main方法中運行
public static void main(String[] args) {
String base64Str = getImgStr("F:/wpcache/2.jpg");
System.out.println(base64Str);
base64StringToImage(base64Str);
}
運行結(jié)果
圖片轉(zhuǎn)BASE64 效果圖

BASE64 轉(zhuǎn)圖片 效果圖
(注:這個生成的圖片路徑就是自己在base64StringToImage 方法中的路徑)

到此這篇關于關于JAVA11中圖片與BASE64相互轉(zhuǎn)換的實現(xiàn)的文章就介紹到這了,更多相關JAVA11圖片與BASE64相互轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
spring-boot使用Admin監(jiān)控應用的方法
本篇文章主要介紹了spring-boot使用Admin監(jiān)控應用的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09
struts1之簡單mvc示例_動力節(jié)點Java學院整理
這篇文章主要介紹了struts1之簡單mvc示例的相關資料,需要的朋友可以參考下2017-09-09
Spring?session?redis?修改默認的序列化方法(案例)
這篇文章主要介紹了Spring?session?redis?修改默認的序列化方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04
Java Hibernate中使用HQL語句進行數(shù)據(jù)庫查詢的要點解析
HQL是Hibernate框架中提供的關系型數(shù)據(jù)庫操作腳本,當然我們也可以使用原生的SQL語句,這里我們來看一下在Java Hibernate中使用HQL語句進行數(shù)據(jù)庫查詢的要點解析:2016-06-06

