image-base64互转
2024-10-01 20:56:49
package base64StringToImage;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder; public class TestImageBinary { /**
*
*@param filePath 照片绝对路径
*@return String base64码字符串
*
**/
public String changeImagetoBase64String(String filePath){
BASE64Encoder encoder = new BASE64Encoder();
String base64String = "";
File file = new File(filePath);
BufferedImage buffer;
try {
buffer = ImageIO.read(file);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(buffer, "jpg", baos); //第二个参数“jpg”不需要修改
byte[] bytes = baos.toByteArray();
base64String = encoder.encodeBuffer(bytes).trim();
} catch (IOException e) {
e.printStackTrace();
}
return base64String;
} /**
*
*@param base64String base64码字符串
*@param filePath 照片绝对路径
*
**/
public void changeBase64StringtoImage(String base64String, String filePath){
BASE64Decoder decoder = new BASE64Decoder();
try {
byte[] bytes = decoder.decodeBuffer(base64String);
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
BufferedImage buffer =ImageIO.read(bais);
File file = new File(filePath); //jpg,png,gif等格式
ImageIO.write(buffer, "jpg", file); //第二个参数“jpg”不需要修改
} catch (IOException e) {
e.printStackTrace();
}
}
}
在页面可以直接使用base64码显示照片:
<body>
<span><img width=100 height=100 src="data:image/gif;base64,(base64编码后的照片数据)"/></span>
</body>
最新文章
- Android 微信第三方登录(个人笔记)
- js判断是iOS还是Android
- 动画: ThemeTransition(过渡效果)
- IOS学习网站
- 北大ACM(POJ1003-Hangover)
- apache common包下的StringUtils的join方法
- asp.net常见面试题(一)
- 山寨QQ音乐的布局(一)
- WPF 绑定
- Mac OS X磁盘重新分区后 BootCamp Windows启动项丢失
- MS SQL自定义函数IsPositiveInteger
- 非node环境下的vue.js 实现简单的购物车计算功能 样式请无视
- IdentityServer4源码颁发token分析及性能优化
- 【转】git-stash用法小结
- Spring IoC 依赖注入的方法大全 XML配置方式
- python class 2
- C# MemCached分布式缓存
- Android自带的TTS功能
- 【MySQL案例】ERROR 1786 (HY000)
- C#集合之不变的集合
热门文章
- spring之AOP(转)
- 洛谷——P1137 旅行计划
- Filebeat之input和output(包含Elasticsearch Output 、Logstash Output、 Redis Output、 File Output和 Console Output)
- FineUI 页面跳转
- go语言函数作为参数传递
- CISP/CISA 每日一题 17
- 洛谷 P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib
- 淘宝分类导航条;纯css实现固定导航栏
- loadrunner监控linux之linux下安装rpc
- 洛谷 P1691 有重复元素的排列问题