在Java中,可以通过ByteArrayOutputStream来实现OutputStream转MultipartFile。

具体步骤如下:

  1. 创建一个ByteArrayOutputStream对象,用于接收输出流的数据。

  2. 将要转换的OutputStream对象写入ByteArrayOutputStream中。

  3. 创建一个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接口

outputStream 转MultipartFile

原文地址: http://www.cveoy.top/t/topic/hvSC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录