2017-01-29 29 views
3

我使用dropwizard實現我的服務器,並上傳我的文件,我使用多部分formdata使用此answerdropwizard多部分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-is-posted-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

另請參閱「解決」球衣bug:https://java.net/jira/browse/JERSEY-3032 – GKislin