我正在尝试使用REST Client for Firefox作为模拟表单将多部分文件数据发布到Spring 3驱动的控制器和后续处理程序。我配置了我们的Web服务项目,以便我们能够发送XML / JSON请求,这些请求被编组/解组并以通常的方式使用。当我尝试使用enctype =“multipart / form-data”时(通过发送Content-Type =“multipart / form-data”),我立即得到:
org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadException: the request was rejected because no multipart boundary was found
我一定要把它包含在我的rest-servlet配置中:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="100000"/>
</bean>
认为这是公共FileUpload jar版本的限制,我尝试了旧版本,但无济于事。与我的REST客户端相同,同时尝试this和this
我的最终目标是让JAXB将指定文件编组到一个自动包含byte []的对象中。对于我希望看到的内容有一个很好的参考,this post确切地说,但它使用RESTEasy作为实现,而我使用Spring 3(这不能改变)。
理想情况下,发布此XML:
<fileUpload>
<username>user123</username>
<localFileToBeUploaded>path/to/file</localFileToBeUploaded>
</fileUpload>
将导致FileUpload对象包含用户名作为String,文件作为字节数组,InputStream或实际File对象,它们被映射到某个特定的控制器进行处理。我对XML编组感到满意,但我对如何处理文件方面感到很遗憾。
这是可能的还是我混合了两种不同的范例?我没有能够遇到这样的事情,这让我相信我在左边的领域有点不对劲。任何想法或评论都会非常有帮助。谢谢!
答案 0 :(得分:2)
这将在REST Client 3.1中提供,如下所示:http://code.google.com/p/rest-client/issues/detail?id=100