java 将 base64转成图片代码
时间: 2023-11-15 21:01:24 浏览: 76
下面是Java将base64转成图片的代码实现:
```
public static void base64ToImg(String base64,String targetPath){
File file = null;
FileOutputStream fops = null;
base64 = base64.replace("data:image/jpeg;base64,","");
byte[] buff = DatatypeConverter.parseBase64Binary(base64);
try {
fops = new FileOutputStream(new File(targetPath));
fops.write(buff);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("--------------------------------"+"图片转换完成"+"--------------------------------");
}
```
其中,`base64`是要转换的base64字符串,`targetPath`是输出图片的路径,不需要文件名。在方法中,首先将base64字符串中的前缀去掉,然后将其转换为字节数组,最后将字节数组写入到输出文件中。
相关问题
java将base64转成图片
可以使用Java自带的Base64和ImageIO类来实现将Base64字符串转成图片的功能。具体步骤如下:
1. 将Base64字符串转成字节数组。
```java
byte[] imageBytes = Base64.getDecoder().decode(base64String);
```
其中,`base64String`是需要转换的Base64字符串。
2. 将字节数组转成图片。
```java
BufferedImage image = ImageIO.read(new ByteArrayInputStream(imageBytes));
```
3. 将图片保存到本地文件。
```java
File outputFile = new File("output.jpg");
ImageIO.write(image, "jpg", outputFile);
```
其中,`output.jpg`是保存图片的文件名,可以根据实际情况修改。
完整示例代码如下:
```java
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.util.Base64;
import javax.imageio.ImageIO;
public class Base64ToImage {
public static void main(String[] args) throws IOException {
String base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABlBMVEUAAAD///+l2Z/dAAAASUlEQVR4AWP4z8CQQAJGgKs/8HAwMDA/8AAFhGLjZAAAAAElFTkSuQmCC";
byte[] imageBytes = Base64.getDecoder().decode(base64String);
BufferedImage image = ImageIO.read(new ByteArrayInputStream(imageBytes));
File outputFile = new File("output.jpg");
ImageIO.write(image, "jpg", outputFile);
}
}
```
运行该程序可以将Base64字符串对应的图片保存到本地文件中。
java将base64转换为图片
可以使用Java内置的Base64类和ImageIO类来实现将Base64字符串转换为图片的功能。以下是一个示例代码:
```java
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.Base64;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
public class Base64ToImage {
public static void main(String[] args) {
String base64Image = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA";
// 获取Base64编码的图片数据
String[] parts = base64Image.split(",");
String imageString = parts[1];
// 解码Base64字符串
byte[] imageBytes = Base64.getDecoder().decode(imageString);
// 转换为图片
BufferedImage img = null;
try {
img = ImageIO.read(new ByteArrayInputStream(imageBytes));
// 保存图片
ImageIO.write(img, "png", new File("image.png"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个示例中,我们首先从Base64编码的字符串中提取出图片数据部分,然后使用Base64类解码字符串,最后使用ImageIO类将解码后的字节流转换为BufferedImage对象。如果需要将图片保存到本地,可以使用ImageIO.write()方法。
阅读全文