java如何将base64字符串转换为图片并且保存到服务器
时间: 2024-05-13 15:14:30 浏览: 93
可以使用以下代码将Base64字符串转换为图片并保存到服务器上:
```java
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Base64;
public class Base64Image {
public static void main(String[] args) throws IOException {
String base64Image = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA\n" +
"AAAFCAIAAAAP2aPbAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAIGNIUk0AAHolAACAgwA\n" +
"EP//AHP5+P3XAAAAjklEQVQImWNgwA7QzRtM/9nYGBgYGBoaGhgZmBgYGBoaGhj+fn\n" +
"5+TExMfHx8fLy8vb2NjY4ODh7OztfX19fX1/f3+/v7/AAz/xBhDRBvNRDAAAAABJRU\n" +
"5ErkJggg==";
// 解码Base64字符串
String[] parts = base64Image.split(",");
String imageType = parts[0].split(";")[0].split(":")[1];
String imageData = parts[1];
byte[] decodedBytes = Base64.getDecoder().decode(imageData);
// 将字节数组写入文件
String fileName = "image." + imageType.split("/")[1];
FileOutputStream fileOutputStream = new FileOutputStream("path/to/save/" + fileName);
fileOutputStream.write(decodedBytes);
fileOutputStream.close();
}
}
```
其中,`base64Image`是Base64字符串,`imageType`是图片类型,`imageData`是图片数据,`fileName`是保存的文件名,`path/to/save/`是保存路径。
要注意的是,`Base64.getDecoder()`需要Java 8及以上版本才支持。如果使用的是Java 7或更早版本,可以使用第三方库来解码Base64字符串,如Apache Commons Codec。
阅读全文