2017-01-29 27 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