通过MultipartFile上传Spring MVC文件有时会产生(!)空的InputSteam
我们使用简单的文件上传系统遇到了一个奇怪的问题。
设置是:Spring 3.2.2,commons fileupload 1.3,commons io 2.4。 我们实际上是从外部Tomcat 7.0.40直接运行Eclipse。 它已经在Mac OS X 10.8和10.6上测试过。
代码如下:
public void saveFile(MultipartFile file, String description) {
System.out.println(file.getOriginalFilename());
System.out.println(file.getSize());
OutputStream out = new FileOutputStream("someFileName");
IOUtils.copy(file.getInputStream(), out);
out.flush();
out.close();
}
它输出正确的文件名和正确的文件大小!
现在,当将文件写入磁盘时,它会生成一个0字节的文件。 这尤其发生在.docx
文件中(大约95%的情况)。 它似乎取决于该文件。 图像和PDF文件似乎始终工作。
没有例外或任何其他提示。 调试器说InputStream
是空的(不是null
,只是空的)。
对此行为的任何解释?
我会检查以下内容:
上一篇: Spring MVC file upload via MultipartFile gives sometimes(!) empty InputSteam