2011-12-29 11 views
6

Ho appena provato a utilizzare FormDataMultiPart ma sfortunatamente non sembra essere l'aiuto di . Ora ho il seguente messaggio di errore:Gestione dell'ingresso multipart/form-data

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 

E 'è un problema sul lato server o lato client?

Il codice lato client che ho è tratto da this site

+0

L'eccezione si lamenta che il messaggio è valido. – bmargulies

+0

@bmargulies Quindi, il problema è con il client di upload? – xybrek

+0

Non starai usando le API com.sun. *! Non che questo spieghi il tuo bug, bada, ma è una pessima idea. Cosa succede se qualcuno tenta di eseguire il tuo codice su OpenJDK? – fge

risposta

9

Una ricerca su Google per "gravi: Un lettore corpo del messaggio per Java" salta fuori questa pepita a http://jersey.576304.n2.nabble.com/SEVERE-A-message-body-reader-for-Java-class-com-sun-jersey-multipart-FormDataMultiPart-and-Java-typed-td5969276.html

" ... Assicurarsi hai mimepull.jar sul classpath ... "

Sembra molto simile al tuo stacktrace, no? Dovrei dire che manca qualcosa sul lato server.

+0

Mi chiedevo come si carica il file in client riposanti. Devi fare un tentativo. –

+0

Stavo ottenendo lo stesso errore fino a quando ho aggiunto mimepull.jar al classpath. – fthinker

+0

avrai bisogno di multipart (ottieni la stessa versione del tuo jersey server) (il mio era http://mvnrepository.com/artifact/com.sun.jersey.contribs/jersey-multipart/1.14) e noti la sezione delle dipendenze che mostra la necessità di mimepull e fornisce un collegamento (mimepull-1.6.jar). – Jason

4

deliberato:

include mimepull-1.6.jar