2011-12-29 44 views
6

我剛剛嘗試使用FormDataMultiPart,但不幸的是它似乎並沒有 的幫助。 現在,我得到了以下錯誤消息:處理多部分/表格數據輸入

SEVERE: A message body reader for Java class com.sun.jersey.multipart.FormDataMultiPart, and Java type class com.sun.jersey.multipart.FormDataMultiPart, and MIME media type multipart/form-data; boundary=----------Ef1gL6cH2ae0gL6Ij5cH2Ef1KM7Ij5 was not found. 
The registered message body readers compatible with the MIME media type are: 
*/* -> 
    com.sun.jersey.core.impl.provider.entity.FormProvider 
    com.sun.jersey.core.impl.provider.entity.StringProvider 
    com.sun.jersey.core.impl.provider.entity.ByteArrayProvider 
    com.sun.jersey.core.impl.provider.entity.FileProvider 
    com.sun.jersey.core.impl.provider.entity.InputStreamProvider 
    com.sun.jersey.core.impl.provider.entity.DataSourceProvider 
    com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General 
    com.sun.jersey.core.impl.provider.entity.ReaderProvider 
    com.sun.jersey.core.impl.provider.entity.DocumentProvider 
    com.sun.jersey.core.impl.provider.entity.SourceProvider$StreamSourceReader 
    com.sun.jersey.core.impl.provider.entity.SourceProvider$SAXSourceReader 
    com.sun.jersey.core.impl.provider.entity.SourceProvider$DOMSourceReader 
    com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$General 
    com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$General 
    com.sun.jersey.json.impl.provider.entity.JSONObjectProvider$General 
    com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$General 
    com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General 
    com.sun.jersey.core.impl.provider.entity.XMLRootObjectProvider$General 
    com.sun.jersey.core.impl.provider.entity.EntityHolderReader 
    com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$General 
    com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$General 
    com.sun.jersey.json.impl.provider.entity.JacksonProviderProxy 

是一個服務器端或客戶端的問題?

的客戶端代碼,我是從 this site

+0

唯一的例外是抱怨該消息的格式不正確。 – bmargulies 2011-12-29 01:36:06

+0

@bmargulies所以,問題是與上傳客戶端? – xybrek 2011-12-29 01:50:59

+0

你不應該使用com.sun。* APIs!並不是說這解釋了你的錯誤,但是這是一個非常糟糕的主意。如果有人試圖在OpenJDK上運行你的代碼會怎麼樣? – fge 2011-12-29 02:00:30

回答

9

拍攝的谷歌搜索「重度:消息正文閱讀器的Java」變成了這塊金塊在http://jersey.576304.n2.nabble.com/SEVERE-A-message-body-reader-for-Java-class-com-sun-jersey-multipart-FormDataMultiPart-and-Java-typed-td5969276.html

」 ......請確認你在類路徑上有mimepull.jar ...「

看起來很像你的堆棧跟蹤,不是嗎?我不得不說缺少服務器端的東西。

+0

我想知道如何在寧靜的客戶端上傳文件。要試試這個。 – 2011-12-29 02:24:58

+0

直到我將mimepull.jar添加到類路徑中,我纔得到這個相同的錯誤。 – fthinker 2012-01-09 06:25:16

+0

你需要多部分(獲得與你的球衣服務器相同的版本)(我的是http://mvnrepository.com/artifact/com.sun.jersey.contribs/jersey-multipart/1.14)並注意依賴部分顯示需要mimepull並提供一個鏈接(mimepull-1.6.jar)。 – Jason 2012-11-02 19:54:20

4

解決:

include mimepull-1.6.jar