Ein Multipart / Formulardaten über RESTful CXF konsumieren

8

Ich habe in einem Webservice gearbeitet, der JSON-Dateien mit Apache CXF in Verbindung mit Jackson konsumiert und produziert.
Eine der Methoden des Dienstes sollte jedoch in der Lage sein, ein hochgeladenes Bild von einer mobilen Anwendung zu speichern, die eine POST-Anfrage mit mehreren Teilen / Formulardaten an meinen Webservice sendet, und ich weiß nicht, wie ich diese Art von Inhalt behandeln soll- Tippe in meinen Kontext. Normalerweise erstellen wir "Request" - und "Response" -Objekte, um den JSON zu konsumieren und zu produzieren, aber ich fürchte, das würde in diesem Fall nicht funktionieren.

Dies ist das Anfrageformat:

%Vor%

Wie kann man diese Art von Anfrage korrekt verarbeiten und die Image-Server-Seite speichern?

[EDIT]

Ich habe es geschafft, multipart / form-data zu verwenden, indem ich folgendes benutze:

%Vor%

Wenn Sie jedoch versuchen, die folgende POST-Anfrage zu verwenden:

%Vor%

Ich erhalte den folgenden Fehler:

  

javax.ws.rs.BadRequestException: org.apache.cxf.jaxrs.utils.multipart.MultipartReadException: Kein Multipart mit Inhalts-ID Typ gefunden, Anfrage Inhaltstyp: multipart / form-data; Grenze = AaB03x

Wenn ich zum Beispiel nur Modus verwende, funktioniert es einwandfrei. Es bricht nur für 2 oder mehr Parameter. Irgendeine Idee für warum ist das falsch?

    
fcm 07.03.2013, 12:43
quelle

3 Antworten

0

Es scheint, dass wir das Problem gefunden haben und es mit dem Format der Anfrage zusammenhängt. Das korrekte Format hätte sein sollen:

%Vor%

Durch das Wechseln in dieses Format konnte ich die anderen Parameter verwenden.

    
fcm 21.03.2013, 19:18
quelle
1

Ich sah mich irgendwann einem ähnlichen Problem gegenüber.

Der folgende Code hat den Trick für mich gemacht

%Vor%

Kurz gesagt, ich denke, die @Consumes Annotation fehlt Ihnen.

    
Chris 25.05.2013 06:00
quelle
0

Für den Verbrauch von mehrteiligen Formulardaten. Verwende @consumes tag & amp; stellen Sie "multipart / form-data" zusammen mit value-Parametern wie

bereit

@Consumes (Wert="multipart / form-data")

verweisen Ссылка

    
Anup Deshpande 16.06.2015 04:48
quelle