将 base64 编码的图片转换为 MultipartFile 对象
时间: 2023-11-02 14:13:32 浏览: 85
要将 base64 编码的图片转换为 MultipartFile 对象,可以按照以下步骤进行操作:
1. 将 base64 编码的字符串解码为字节数组。
2. 创建一个 ByteArrayInputStream 对象,将字节数组作为参数传入。
3. 创建一个 MultipartFile 对象,将 ByteArrayInputStream 对象、文件名和文件类型作为参数传入。
下面是一个示例代码:
```java
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import java.io.*;
public class Base64ToMultipartFile {
public static MultipartFile convert(String base64String, String filename, String contentType) throws IOException {
byte[] bytes = Base64.getDecoder().decode(base64String);
ByteArrayInputStream inputStream = new ByteArrayInputStream(bytes);
MultipartFile multipartFile = new CommonsMultipartFile(inputStream, filename, contentType);
return multipartFile;
}
public static void main(String[] args) throws IOException {
String base64String = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/......";
MultipartFile multipartFile = convert(base64String, "test.jpg", "image/jpeg");
System.out.println("File name: " + multipartFile.getOriginalFilename());
System.out.println("Content type: " + multipartFile.getContentType());
System.out.println("File size: " + multipartFile.getSize());
}
}
```
其中,`Base64ToMultipartFile.convert()` 方法接收三个参数:`base64String` 表示 base64 编码的字符串,`filename` 表示文件名,`contentType` 表示文件类型。方法返回一个 MultipartFile 对象,可以用于上传文件。在示例代码中,我们将一个 base64 编码的 JPEG 图片转换为 MultipartFile 对象,并输出文件名、文件类型和文件大小。
阅读全文