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接口
原文地址: http://www.cveoy.top/t/topic/hvSC 著作权归作者所有。请勿转载和采集!