package demo;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.*;
import java.util.Objects;
public class Base64Demo {
public static void main(String[] args) {
// image -> base64
String base64 = ImageToBase64("src/main/resources/baidu.png");
System.out.println(base64);
// base64 -> image
Base64ToStream(base64);
}
public static byte[] readImage(String imgPath) {
byte[] data = null;
InputStream in = null;
// 读取图片字节数组
try {
in = new FileInputStream(imgPath);
data = new byte[in.available()];
in.read(data);
in.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return data;
}
public static void saveImage(byte[] imageByte){
InputStream input = null;
try {
//转化成流
input = new ByteArrayInputStream(imageByte);
BufferedImage bi = ImageIO.read(input);
File file = new File("temp.png");
ImageIO.write(bi, "png", file);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static String ImageToBase64(String imgPath) {
byte[] data = readImage(imgPath);
// 对字节数组Base64编码
BASE64Encoder encoder = new BASE64Encoder();
// 返回Base64编码过的字节数组字符串
return encoder.encode(Objects.requireNonNull(data));
}
public static void Base64ToStream(String base64) {
BASE64Decoder decoder = new BASE64Decoder();
byte[] imageByte = new byte[0];
try {
imageByte = decoder.decodeBuffer(base64);
} catch (IOException e) {
e.printStackTrace();
}
//图片类型
saveImage(imageByte);
}
}
java将图片转base64格式
文章来源:网络 版权归原作者所有,如涉及知识产权问题,请权利人联系我们,我们将立即处理.
推荐阅读 更多精彩内容
-
如题,执行 yarn logs -applicationId 命令时报错 : Exception in thread "main" org.apache.hadoop.yarn.exception.
西行寺え幽幽子 阅读 1013
-
Failed to import the site moduleTraceback (most recent call last): File "/usr/lib/python3.5/site.py"
一生所爱の赫萝 阅读 910
-
链接加上:-L../boost/stage/lib -pthread
上杉夏香 阅读 853
-
filelist.txtfile 'VID_20181219_214101.mp4'file 'VID_20181220_172414.mp4'命令ffmpeg -f concat -i fileli
一生所爱の赫萝 阅读 905
-
1. 烟台自驾游景点推荐在烟台待了这么多年,如果周边游的话可以免费把滨海路刷一遍,说起滨海路就不得不提17路公交,坐17路公交基本能把滨海路所有的景点都逛一遍。其他好的景点我只推荐天崮山,没错,你可能
冰雪殇璃陌梦 阅读 1033
-
1. 北京周边自驾游最美路线很不错的计划,去北京的半路上,可以在山东境内找一景点,回上海时可以走京石公路,沿路再找一景点休息参观。北京许多天津也是廊坊也是沧州的沧县著名清真寺衡水景县一个塔德州一个王陵
上杉夏香 阅读 1031
-
1. 川藏线自驾游开什么车好自驾318川藏线的话,我们可以开越野车,或者是吉普车都是可以的,最好不要开轿车。2. 川藏线自驾轿车合适吗可以。318国道是在中国华东、华中、西南地区的一条国道,起点为上海
血叶洛莉兰 阅读 877
-
1. 张家口坝上草原自驾游攻略坝上秋天夏天都温差大,九月去看秋色时,早晚随时零度。如果你是个摄影人需要早晚日出日落去创作,穿上羽绒就没错,别说秋天了,夏天早上都经常只有十度八度。配图第一张是我们在坝上
一生所爱の赫萝 阅读 1037
-
1. 西安周边自驾游排行榜西安周边自驾游好玩的地方有宝鸡关山牧场,秦岭沣峪口,蓝天县白鹿原影视城,泾阳县乐华娱乐城,泾阳茯茶小镇,兴平马嵬驿,兴平宏兴码头观光园,临潼区华清池,兵马俑,骊山,华阴县华山
一生所爱の赫萝 阅读 923