2017-01-29 10 views
3

Ich implementiere meinen Server mit Dropwizard und zum Hochladen meiner Dateien verwende ich multipart formdata mit dieser answer.dropwizard multipart formdata utf-8

aber wenn ich Dateien mit UTF-8-Zeichensatz verwende, ist mein Dateiname aus FormDataContentDisposition Objekt abgestürzt.

Code:

@POST 
@Path("/") 
@Consumes({MediaType.MULTIPART_FORM_DATA + ";charset=utf-8"}) 
public void fileUploaded(@AuthRequired User admin, 
         @FormDataParam("file") final InputStream inputStream, 
         @FormDataParam("file") final FormDataContentDisposition contentDispositionHeader) { 

    System.out.println(contentDispositionHeader.getFileName()); 

} 
+0

Mit Verwendung von [dieser] (http://stackoverflow.com/questions/546365/utf- 8-Text-ist-verstümmelt-wenn-Form-ist-gepostet-als-Multipart-Form-Daten) Ich löse mein Problem, aber ich kann den Dateinamen nicht korrigieren, wenn es mit Trikot konsumiert. – Divuneh

Antwort

3

Sie Must Change

System.out.println(contentDispositionHeader.getFileName()); 

Um

System.out.println(new String (contentDispositionHeader.getFileName().getBytes ("iso-8859-1"), "UTF-8");); 
+0

Siehe auch "RESOLVED" Jersey Bug: https://java.net/jira/browse/JERSEY-3032 – GKislin