Datei-Upload zusammen mit anderen Objekten im Jersey RESTful Web Service
Problem:
Sie Sie möchten mit Jersey einen Mitarbeiterdatensatz mit Bild- und Mitarbeiterdaten in einem einzigen REST-API-Aufruf erstellen, aber die aktuelle Implementierung löst einen Fehler in Chrome aus Postbote.
Antwort:
Um den gleichzeitigen Datei-Upload und die JSON-Datenübertragung zu ermöglichen, müssen die JSON-Daten in der mehrteiligen Anfrage enthalten sein. Hier ist eine modifizierte Version Ihres Codeausschnitts:
@POST @Path("/upload2") @Consumes({MediaType.MULTIPART_FORM_DATA}) public Response uploadFileWithData( @FormDataParam("file") InputStream fileInputStream, @FormDataParam("file") FormDataContentDisposition contentDispositionHeader, @FormDataParam("emp") Employee emp) { //..... business login }
Die wichtigste Änderung ist das Hinzufügen von @FormDataParam("emp"), um die Mitarbeiterdaten in die mehrteilige Anfrage einzuschließen.
Zusätzliche Hinweise:
@POST @Path("upload2") @Consumes(MediaType.MULTIPART_FORM_DATA) public Response uploadFileAndJSON(@FormDataParam("emp") FormDataBodyPart jsonPart, @FormDataParam("file") FormDataBodyPart bodyPart) { jsonPart.setMediaType(MediaType.APPLICATION_JSON_TYPE); Employee emp = jsonPart.getValueAs(Employee.class); }
Das obige ist der detaillierte Inhalt vonWie lade ich eine Datei und JSON-Daten gleichzeitig in einen RESTful-Webdienst von Jersey hoch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!