java实现图片转base64字符串 java实现base64字符串转图片
作者:漂流的老妖怪 时间:2023-07-19 10:42:44
java 图片转base64字符串、base64字符串转图片,具体内容如下
1. 图片转base64字符串:
/**
* base64编码字符串转换为图片
* @param imgStr base64编码字符串
* @param path 图片路径
* @return
*/
public static boolean base64StrToImage(String imgStr, String path) {
if (imgStr == null)
return false;
BASE64Decoder decoder = new BASE64Decoder();
try {
// 解密
byte[] b = decoder.decodeBuffer(imgStr);
// 处理数据
for (int i = 0; i < b.length; ++i) {
if (b[i] < 0) {
b[i] += 256;
}
}
//文件夹不存在则自动创建
File tempFile = new File(path);
if (!tempFile.getParentFile().exists()) {
tempFile.getParentFile().mkdirs();
}
OutputStream out = new FileOutputStream(tempFile);
out.write(b);
out.flush();
out.close();
return true;
} catch (Exception e) {
return false;
}
}
2. base64字符串转图片:
/**
* 图片转base64字符串
* @param imgFile 图片路径
* @return
*/
public static String imageToBase64Str(String imgFile) {
InputStream inputStream = null;
byte[] data = null;
try {
inputStream = new FileInputStream(imgFile);
data = new byte[inputStream.available()];
inputStream.read(data);
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
// 加密
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(data);
}
3. 测试:
public static void main(String[] args) {
String base64Str = imageToBase64Str("D:/pic/001.jpg");
System.out.println(base64Str);
boolean b = base64StrToImage(base64Str, "D:/pic/temp/002.jpg");
System.out.println(b);
}
效果图:
来源:http://www.cnblogs.com/hooly/p/8330433.html
标签:java,图片,base64,字符串
0
投稿
猜你喜欢
Java精品项目瑞吉外卖之员工信息管理篇
2023-07-29 07:43:36
Java数据结构之链表、栈、队列、树的实现方法示例
2021-10-07 10:40:29
C#实现剪切板功能
2023-01-16 12:26:48
十分钟速懂java知识点 System类
2022-11-25 04:19:26
java static块和构造函数的实例详解
2021-10-04 07:30:17
spring mvc中注解@ModelAttribute的妙用分享
2022-09-15 13:53:25
布隆过滤器(Bloom Filter)的Java实现方法
2022-09-14 18:06:06
Android自定义控件之刻度尺控件
2022-05-14 07:37:13
死磕 java同步系列之synchronized解析
2023-09-27 10:07:43
C#实现两个时间相减的方法
2022-12-21 03:08:29
Android开发RecyclerView实现折线图效果
2022-08-27 12:59:34
详解Java中方法重写和方法重载的6个区别
2023-11-28 13:42:18
C# 10个常用特性汇总
2023-03-22 01:04:13
springboot如何读取配置文件到静态工具类
2023-11-28 04:44:54
idea 设置鼠标悬停(放上)弹出注释的方法
2022-03-19 21:10:52
SpringBoot如何实现定时任务示例详解
2023-10-11 23:24:42
Java设计模式之命令模式
2022-06-17 22:49:07
浅谈c#开发者应该了解的15个特性
2022-03-02 17:14:32
在C#和Java语言中for和foreach的区别详解
2023-01-29 11:31:13
C#中Dictionary<TKey,TValue>排序方式的实现
2021-07-13 10:59:10