MultipartResolver不起作用

时间:2012-08-03 08:31:00

标签: java rest file-upload spring-roo multipart

我使用Maven和Spring Roo开发RESTFul Web服务。

在我的配置xml文件中,我定义了一个multipartResolver bean,因为我上传了300KB的文件:

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="400000" />
    <property name="maxInMemorySize" value="400000" />
</bean>

文件成功上传并推送到堆栈中。这些文件是CommonsMultipartFileMultipartFile个对象(对于这两种类型的对象,我都有相同的现象)。弹出文件后,我可以调用getSize()方法,我可以验证文件的大小是否正确。但是,一旦我致电getInputStream(),我就会收到以下错误:File has been moved - cannot be read again.

我在multipartResolver声明中做错了什么?还有其他原因导致此错误吗?

谢谢

1 个答案:

答案 0 :(得分:2)

对getInputStream()的调用被识别为在客户端获取文件输入流的请求。并且由于文件已经上传,它说“文件已被移动 - 无法再次阅读”

你还想通过调用getInputStream()来做什么?如果要读取上载的文件,请使用上载位置的路径创建新的FileInputStream并访问文件内容。