用java实现一个方法,将Base64转图片,要返回图片保存路径
时间: 2023-12-14 19:36:13 浏览: 255
vue项目base64字符串转图片的实现代码
以下是用Java实现将Base64转换为图片并返回保存路径的方法:
```java
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Base64;
public class Base64ToImageConverter {
/**
* 将Base64编码字符串转换为图片并保存到指定路径
*
* @param base64Str Base64编码字符串
* @param savePath 图片保存路径
* @param fileName 图片文件名(不含扩展名)
* @return 图片文件保存路径
* @throws IOException
*/
public static String convertBase64ToImage(String base64Str, String savePath, String fileName) throws IOException {
File file = new File(savePath);
// 如果目录不存在,则创建目录
if (!file.exists()) {
file.mkdirs();
}
// 获取图片扩展名
String extName = base64Str.substring(base64Str.indexOf("/") + 1, base64Str.indexOf(";base64"));
// 将Base64编码字符串转换为字节数组
byte[] dataBytes = Base64.getDecoder().decode(base64Str.substring(base64Str.indexOf(",") + 1));
// 拼接图片保存路径
String filePath = savePath + File.separator + fileName + "." + extName;
// 将字节数组写入图片文件
try (FileOutputStream fos = new FileOutputStream(filePath)) {
fos.write(dataBytes);
fos.flush();
}
return filePath;
}
}
```
使用示例:
```java
String base64Str = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA...";
String savePath = "C:/images";
String fileName = "test";
String filePath = Base64ToImageConverter.convertBase64ToImage(base64Str, savePath, fileName);
System.out.println(filePath); // 输出:C:/images/test.png
```
该方法将Base64编码字符串转换为图片并保存到指定路径,并返回图片文件保存路径。注意,该方法中的Base64解码方法使用Java 8中的Base64类,需要至少Java 1.8版本才能运行。
阅读全文