java 图片base64转流
时间: 2023-12-22 17:04:27 浏览: 100
在Java中,可以使用Base64类将图片的Base64编码转换为流。下面是一个示例代码:
```java
import java.io.ByteArrayInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Base64;
public class Base64ToImage {
public static void main(String[] args) {
String base64Image = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...";
String[] parts = base64Image.split(",");
String imageString = parts[1];
// 将Base64编码转换为字节数组
byte[] imageBytes = Base64.getDecoder().decode(imageString);
try {
// 创建字节数组输入流
ByteArrayInputStream bis = new ByteArrayInputStream(imageBytes);
// 读取字节数组输入流为BufferedImage
BufferedImage bufferedImage = ImageIO.read(bis);
// 保存图片到本地
FileOutputStream fos = new FileOutputStream("image.png");
ImageIO.write(bufferedImage, "png", fos);
// 关闭流
bis.close();
fos.close();
System.out.println("图片保存成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这段代码将Base64编码的图片字符串分割,提取出图片数据部分,然后将其解码为字节数组。接下来,使用ByteArrayInputStream将字节数组转换为输入流,并使用ImageIO将输入流读取为BufferedImage。最后,使用ImageIO将BufferedImage保存为本地图片文件。
阅读全文