2012-01-24 73 views
3

我試圖使用Firefox的REST客戶端作爲模擬表單將多部分文件數據發佈到Spring 3驅動的控制器和後續處理程序。我配置了我們的Web服務項目,以便我們能夠發送XML/JSON請求,這些請求以常用方式編組/消解和消耗。當我嘗試使用ENCTYPE = 「的multipart/form-data的」(通過發送的Content-Type = 「的multipart/form-data的」),我立刻得到:通過REST客戶端發佈表單 - 分段上傳

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 

我已經確保包括這在我的休息,servlet配置:

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

思考,這是的,通用FileUpload JAR版本的限制,我想更早的版本,但都無濟於事。與我的REST客戶端一樣,嘗試使用thisthis

我的最終目標是讓JAXB將指定文件編組爲一個自動包含byte []的對象。對於我想看到的一個很好的參考,this post完全符合,但它使用RESTEasy作爲實現,而我使用Spring 3(並且不能更改)。

理想情況下,發佈這XML:

<fileUpload> 
    <username>user123</username> 
    <localFileToBeUploaded>path/to/file</localFileToBeUploaded> 
</fileUpload> 

將導致包含的用戶名作爲字符串和將該文件作爲一個字節數組,InputStream的,或實際的文件對象,該對象被映射到一些的FileUpload對象特定控制器進行處理。我對XML編組很熟悉,但我對如何處理文件方面感到迷茫。

這是可能的還是我混合兩種不同的範例?我一直沒有遇到過這樣的事情,這讓我相信我在左場有點出局。任何想法或意見都會非常有幫助。謝謝!

+2

我已經閱讀[這篇博客](後http://renatoc.wait4.org/2011/02/解決了多邊界例外25 /張貼-multipartform-數據使用的Apache-眨眼/)。對於任何有此問題的人,在REST客戶端中,當指定請求標題時,使用**「Content-Type」作爲Name **和**「multipart/form-data; boundary = xyzxyz」作爲Value **。但是,我仍然在努力將文件(或任何值)真正綁定到Model屬性。 – Nick

回答

相關問題