多部分文件到文件InputStream

时间:2016-02-18 10:48:05

标签: java eclipse spring file

如何在内存中将MultipartFile转换为FileInputStream

我已尝试过以下,但我正面临错误

  

org.springframework.web.multipart.commons.CommonsMultipartFile不能   被强制转换为java.io.File

我的代码是

FileInputStream fis = new FileInputStream((File)file);

其中file是多部分文件

5 个答案:

答案 0 :(得分:12)

除非文件不在文件系统上,否则无法创建FileInputStream实例。

您必须先使用

将多部分文件保存在服务器上的临时位置
file.transferTo(tempFile);
InputStream stream = new FileInputStream(tempFile);

但是也可以通过基本流方法(例如

)简单地读取多部分文件
InputStream inputStream =  new BufferedInputStream(file.getInputStream());

答案 1 :(得分:1)

看看MultipartFile

你可以选择:

void    transferTo(File dest)

此方法将接收的文件传输到给定的目标文件。

答案 2 :(得分:1)

要将多部分文件转换为输入流

MultipartFile file;
InputStream inputStream = new InputStream(file.getInputStream());

这对我有用。

答案 3 :(得分:0)

尝试使用:

read model

答案 4 :(得分:-1)

对于多部分文件,例如:

FileMultipartData part =  new FileMultipartData();
InputStream inputStream = part.getFileMultipart().get(0).getByteStream();

这在我的代码中对我有用。请试一试