如何将Base64编码的图像写入文件?
我使用Base64将图像编码为字符串 . 首先,我读取文件,然后将其转换为字节数组,然后应用Base64编码将图像转换为字符串 .
现在我的问题是如何解码它 .
byte dearr[] = Base64.decodeBase64(crntImage);
File outF = new File("c:/decode/abc.bmp");
BufferedImage img02 = ImageIO.write(img02, "bmp", outF);
变量 crntImage
包含图像的字符串表示形式 .
6 回答
使用apache-commons的其他选项:
....只是说明这个答案使用java.util.Base64包,而不使用任何第三方库 .
假设图像数据已经是您想要的格式,您根本不需要图像
ImageIO
- 您只需要将数据写入文件:(我假设你在这里使用Java 7 - 如果没有,你需要编写一个手动的try / finally语句来关闭流 . )
如果图像数据不是您想要的格式,则需要提供更多详细信息 .
使用Java 8的Base64 API
如果您的编码图像以
data:image/png;base64,iVBORw0...
之类的内容开头,则必须删除该部分 . 请参阅this answer以获得简单的方法 .无需使用BufferedImage,因为您已经在字节数组中拥有图像文件
试试这个: