servlet下载,解决文件名中有中文下载路径出现乱码不能正常下载问题
来源:互联网 发布:微信淘客软件 淘口令 编辑:程序博客网 时间:2024/05/03 12:09
方法很多种,我只试用了两种。
主页面JSP中引入下载功能所需的js文件。引入的时候设置编码格式例如
<script type="text/javascript" charset="UTF-8" src="${rsc}/pages/communicate/message/receiveMessage.js"></script>
然后下载方法需改进。下面改进的下载方法是基于本博客里的另一篇文章serlvet下载中的下载方法,下载路径中拼接的参数不要作为方法中带的参数传递。直接用request获取。这样就不会自行转码。
@RequestMapping("/download")
@RolesAllowed(AuthorityDefine.ROLE_USER)
public void download(HttpServletRequest request,
HttpServletResponse response){
try{
String path=request.getParameter("path");
String cat=request.getParameter("cat");
File file = new File(Global.BASE_UPLOAD_FOLDER+"/"+ cat+"/"+path);
String filename = file.getName();
InputStream fis = new BufferedInputStream(new FileInputStream(file));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
response.reset();
response.addHeader("Content-Disposition","attachment;filename="+ filename);
response.addHeader("Content-Length","" + file.length());
response.setContentType("application/octet-stream");
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
toClient.write(buffer);
toClient.flush();
toClient.close();
}
catch (IOException ex){
ex.printStackTrace();
}
}
还有一种方式 是直接修改
配置时需要在tomcat(即相应的Servers)中的server.xml文件中的 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"
/>加入useBodyEncodingForURI="true"
- servlet下载,解决文件名中有中文下载路径出现乱码不能正常下载问题
- 解决FlashFXP5 不能下载中文文件名文件的问题(显示文件名中文正常下载文件名是乱码)
- 文件下载(解决中文文件名下载乱码问题) 收集
- 下载中文文件名乱码问题
- 中文文件名下载乱码问题
- 解决PHP下载文件名中文解决乱码
- 解决C# ASP .NET下载出现中文文件名乱码的问题
- 解决C#ASP.NET下载出现中文文件名乱码的问题
- 下载文件名出现乱码
- 解决不同浏览器上中文文件名的下载乱码问题
- c# web 下载文件(解决中文文件名乱码问题)
- 解决struts2.0下载中文文件名乱码问题
- 打包下载文件 中文文件名乱码问题的解决
- 下载文件默认文件名中文乱码问题的解决
- IE 11 解决下载文件名中文乱码的问题
- java文件下载的中文文件名乱码问题的解决
- Chrome下载文件,文件名出现乱码解决
- 附件下载,中文文件名乱码如何解决???
- c# 获取根目录
- mvc 上传图片
- 黄金版改革规划和韩国
- sql 中having语句的使用
- java---------------String类的截取字符串,截串,substring和split,分割字母和数字,正则缝隙
- servlet下载,解决文件名中有中文下载路径出现乱码不能正常下载问题
- 生产订单数量100件确认100件能否收货101件?
- 打开coverage中的属性表
- KNOW:Math & Probability
- PHPCMSV9的CKEDITOR编辑器增加行距
- 8930 usb study
- HDU 1010 Tempter of the Bone (深度搜索+减枝优化)
- MCF初接触
- Backtrack5 bt5 VMware Tools 安装失败的解决办法