Java 实现 OutputStream 转 MultipartFile 详解
在 Java 中,可以通过 ByteArrayOutputStream 来实现 OutputStream 转 MultipartFile。
具体步骤如下:
-
创建一个 ByteArrayOutputStream 对象,用于接收输出流的数据。
-
将要转换的 OutputStream 对象写入 ByteArrayOutputStream 中。
-
创建一个 MultipartFile 对象,将 ByteArrayOutputStream 中的数据转换成字节数组,并设置 MultipartFile 的文件名和文件类型。
示例代码如下:
public static MultipartFile outputStreamToMultipartFile(OutputStream outputStream, String fileName, String fileType) throws IOException {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
byte[] bytes;
// 读取输出流中的数据并写入 ByteArrayOutputStream 中
int len;
byte[] buffer = new byte[1024];
while ((len = outputStream.read(buffer)) > -1) {
byteArrayOutputStream.write(buffer, 0, len);
}
byteArrayOutputStream.flush();
// 将 ByteArrayOutputStream 中的数据转换成字节数组
bytes = byteArrayOutputStream.toByteArray();
// 创建 MultipartFile 对象并设置文件名和文件类型
return new MockMultipartFile(fileName, fileName, fileType, bytes);
}
其中,MockMultipartFile 是 Spring 框架提供的一个 MultipartFile 的实现类。如果你没有使用 Spring 框架,可以自行实现 MultipartFile 接口。
原文地址: https://www.cveoy.top/t/topic/oYJ1 著作权归作者所有。请勿转载和采集!