Java上传base64以后转为MultipartFile的方法
Java上传base64以后转为MultipartFile的方法
·
一般的框架都是有直接上传文件的接口或者方法,那如何把base64转为
MultipartFile然后调用文件上传的方法呢,请看下面
public static MultipartFile convertBase64ToMultipartFile(String base64String, String fileName) throws IOException {
// Step 1: 解码Base64字符串
byte[] decodedBytes = Base64.getDecoder().decode(base64String);
// Step 2: 转换为InputStream
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(decodedBytes);
// Step 3: 创建MultipartFile
MultipartFile multipartFile = new MockMultipartFile(fileName, fileName, "image/jpeg", byteArrayInputStream);
return multipartFile;
}
需要引入
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.3.12</version>
</dependency>
详细用法解释和demo
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.mock.web.MockMultipartFile;
import java.util.Base64;
import java.io.ByteArrayInputStream;
import java.io.IOException;
public class Base64ToMultipartFile {
public static MultipartFile convertBase64ToMultipartFile(String base64String, String fileName) throws IOException {
// Step 1: 解码Base64字符串
byte[] decodedBytes = Base64.getDecoder().decode(base64String);
// Step 2: 转换为InputStream
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(decodedBytes);
// Step 3: 创建MultipartFile
MultipartFile multipartFile = new MockMultipartFile(fileName, fileName, "image/jpeg", byteArrayInputStream);
return multipartFile;
}
public static void main(String[] args) throws IOException {
String base64String = "base64EncodedStringHere"; // 这里放你的Base64字符串
MultipartFile file = convertBase64ToMultipartFile(base64String, "uploadedFile.jpg");
// 输出MultipartFile的一些信息
System.out.println("文件名: " + file.getOriginalFilename());
System.out.println("文件大小: " + file.getSize() + " bytes");
}
}
- Base64解码:首先我们用
Base64.getDecoder().decode(base64String)
来解码Base64字符串,得到字节数组。 - 输入流:通过
ByteArrayInputStream
将字节数组转换为输入流,这是MockMultipartFile
构造函数需要的格式。 - 创建
MultipartFile
:MockMultipartFile
是spring
提供的一个实现MultipartFile
接口的类,用于测试或模拟文件上传。你可以根据实际需要调整文件类型(如"image/jpeg"
)。 - 返回
MultipartFile
:返回的MultipartFile
可以用来进行上传操作或其他处理。
更多推荐
所有评论(0)