2017-01-29 2 views
3

dropwizard를 사용하여 내 서버를 구현하고 파일을 업로드 할 때이 answer을 사용하여 멀티 파트 양식을 사용합니다.dropwizard multipart formdata utf-8

하지만 utf-8 문자 집합으로 파일을 사용하면 FormDataContentDisposition 개체의 파일 이름이 손상됩니다.

코드 :

@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

을 변경해야합니다 (http://stackoverflow.com/questions/546365/utf- 8-text-is-garbled-when-form-as-multipart-form-data) 문제를 해결할 수 있지만 저지에서 소모 될 때 파일 이름을 수정할 수 없습니다. – Divuneh

답변

3

당신은 [이]를 사용하여

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

으로

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

"해결 된"저지 버그 : https://java.net/jira/browse/JERSEY-3032도 참조하십시오. – GKislin