Jersey下载 文件名中文不显示

今天做了个文件下载功能,Jersey实现,但是下载下来的文件名不正常,在有中文字的时候,中文字是空白,不显示,如下:

服务器端的文件名是正常的:


下载打开的时候中文字就没了:


观察一下HTTP响应,文件名中的中文字确实被处理掉了:



后台代码:

return Response
       .ok(file, mt)
       .header("Content-disposition","attachment;filename=" + fileName)
       .header("", "")
       .build();

原因应该就是后台返回的时候把中文字处理掉了。

解决方法:在后台对文件名进行编码:

fileName2 = URLEncoder.encode(fileName, "UTF-8");
当然,有报错提示的,UnsupportedEncodingException,要try catch处理一下。


问题解决!


Jersey下载 文件名中文不显示_第1张图片


你可能感兴趣的:(Jersey下载 文件名中文不显示)