java 通过base64码转图片下载
时间: 2023-11-16 08:55:58 浏览: 61
可以使用Java自带的Base64类和IO类来实现将base64码转换为图片并下载。具体步骤如下:
1. 将base64码转换为字节数组
2. 将字节数组写入到文件中
3. 下载文件
以下是示例代码:
```java
import java.io.*;
import java.util.Base64;
public class Base64ToImage {
public static void main(String[] args) {
String base64String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABa0lEQVR4nL2Tz0sDQRSGv7+7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7v+H5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX5vX4P8f8P8f8P8f8P8f8P8f8P8f8P8f8P8f8P8f8P8f8P8f8P8f8P8f8P8f8P8f8P+H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4H6/4P8f8P8f8P8f8P8f8P8f8P8f8P8f8P8f8P8f8P8f8P8f8P8f8P8f8P8f8P+D9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX9vX5P+D7AAAAAElFTkSuQmCC";
String fileName = "test.png";
byte[] imageBytes = Base64.getDecoder().decode(base64String);
try (OutputStream outputStream = new FileOutputStream(fileName)) {
outputStream.write(imageBytes);
} catch (IOException e) {
e.printStackTrace();
}
// 下载文件
File file = new File(fileName);
if (file.exists()) {
// 设置响应头,控制浏览器下载该文件
response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
// 读取要下载的文件,保存到文件输入流
FileInputStream in = new FileInputStream(file);
// 创建输出流
OutputStream out = response.getOutputStream();
// 创建缓冲区
byte buffer[] = new byte[1024];
int len = 0;
// 循环将输入流中的内容读取到缓冲区当中
while ((len = in.read(buffer)) > 0) {
// 输出缓冲区的内容到浏览器,实现文件下载
out.write(buffer, 0, len);
}
// 关闭文件输入流
in.close();
// 关闭输出流
out.close();
}
}
}
```