base64字符串与图片的转换
来源:互联网 发布:ubuntu 网络配置 编辑:程序博客网 时间:2024/04/30 12:31
完整代码:
package test;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Base64Test { public static void main(String[] args) { String strImg = GetImageStr(); System.out.println(strImg); GenerateImage(strImg); } //图片转化成base64字符串 public static String GetImageStr() {//将图片文件转化为字节数组字符串,并对其进行Base64编码处理 String imgFile = "E://old.jpg";//待处理的图片 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.printStackTrace(); } //对字节数组Base64编码 BASE64Encoder encoder = new BASE64Encoder(); return encoder.encode(data);//返回Base64编码过的字节数组字符串 } //base64字符串转化成图片 public static boolean GenerateImage(String imgStr) { //对字节数组字符串进行Base64解码并生成图片 if (imgStr == null) //图像数据为空 return false; BASE64Decoder decoder = new BASE64Decoder(); try { //Base64解码 byte[] b = decoder.decodeBuffer(imgStr); //生成jpeg图片 String imgFilePath = "E://new.jpg";//新生成的图片 OutputStream out = new FileOutputStream(imgFilePath); out.write(b); out.flush(); out.close(); return true; } catch (Exception e) { return false; } } }
注意
前端通过FileReader方式获取的base64字符串,直接用上面的GenerateImage方法执行,生成的图片是打不开的,需要去掉开头的 data:[][;charset=][;base64], 那部分字符串。前端需做截取处理 data= data.substring(data.indexOf(“,”) + 1);
详情请见:http://blog.csdn.net/mytdyhm123456/article/details/62044058
0 0
- base64字符串与图片的转换
- base64字符串与图片之间的转换
- Base64编码的字符串与图片的转换 C#
- Base64编码的字符串与图片的转换 C#
- Base64编码的字符串 与 图片的 转换
- Base64编码的字符串与图片的转换 C# .
- C#Base64编码的字符串与图片的转换
- java实现图片与base64字符串之间的转换
- java实现图片与base64字符串之间的转换
- java实现图片与base64字符串之间的转换
- java实现图片与base64字符串之间的转换
- java实现图片与base64字符串之间的转换
- java实现图片与base64字符串之间的转换
- java图片与base64字符串之间的转换
- java实现图片与base64字符串之间的转换
- JAVA实现图片与base64字符串之间的转换
- java实现图片与base64字符串之间的转换
- java实现图片与base64字符串之间的转换
- SwipeRefreshLayout的使用注意事项
- UITabBarItem不能显示文字和图片
- 多线程的实现
- POJ 2674 Linear world (经典题目 -- 这个有坑= =)
- iOS 自动布局详细介绍
- base64字符串与图片的转换
- linux网络编程之Listen函数参数介绍
- centos6.5使用yum安装saltstack-之salt-master salt-minion
- mybaits错误解决:There is no getter for property named 'id' in class 'java.lang.String'
- Spring Boot 学习之环境搭建
- 隧道 之后自己写的
- Android 6.0 boot
- [.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序
- 集算器协助java处理多样性数据源之Excel