down.jsp代码如下:
<%@ page contentType="text/html;charset=gbk"%>
<%@ page language="java" import="java.io.*,java.net.*" pageEncoding="gbk"%>
<html>
<head>
<title>test</title>
</head>
<body>
<%
response.setContentType("text/html");
javax.servlet.ServletOutputStream ou = response.getOutputStream();
String filepath=request.getRealPath("/page")+"/enter/sample/";
String filename=new String(URLDecoder.decode(request.getParameter("filename"),"UTF-8")).toString();
System.out.println("DownloadFile filepath:" + filepath);
System.out.println("DownloadFile filename:" + filename);
java.io.File file = new java.io.File(filepath + filename);
if (!file.exists()) {
System.out.println(file.getAbsolutePath() + " 文件不存在!");
return;
}
// 读取文件流
java.io.FileInputStream fileInputStream = new java.io.FileInputStream(file);
// 下载文件
// 设置响应头和下载保存的文件名
if (filename != null && filename.length() > 0) {
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition", "attachment; filename=" + new String(filename.getBytes("gb2312"),"iso8859-1") + "");
if (fileInputStream != null) {
int filelen = fileInputStream.available();
//文件太大时内存不能一次读出,要循环
byte a[] = new byte[filelen];
fileInputStream.read(a);
ou.write(a);
}
fileInputStream.close();
ou.close();
out.clear();
out = pageContext.pushBody();
}
%>
</body>
</html>
test.html
<a href='down.jsp?filename=%E5%8F%97%E7%90%86%E5%91%8A%E7%9F%A5%E5%8D%95.doc'>受理告知单</a>
注意:中文文件名需要用urlencode进行转码
分享到:
相关推荐
jspsmartuploadexample支持中文文件名下载.rarjspsmartuploadexample支持中文文件名下载.rarjspsmartuploadexample支持中文文件名下载.rarjspsmartuploadexample支持中文文件名下载.rar
ffmpeg.exe无源码 修正了:1.在windows修正显示乱码; 2.命令行支持中文字幕文件名 详见readme.txt
成功解决 Android 下载中文文件名 android上传下载过程中url带中文名字出现的乱码问题
解决中文文件名问题,使用解决方法,文件名编码:ISO8859-1
电子-图片显示fatfs文件系统emwinSD卡支持长文件名支持中文文件名201762.rar,单片机/嵌入式STM32-F0/F1/F2
不同浏览器上中文文件名的下载乱码问题 浏览器IEChromeSafariOpera 浏览器能正确识别的编码格式
可完成中文文件名的上传下载组件jspsmartupload
jsp实现文件下载与中文文件名乱码问题解决
( response.setHeader()下载中文文件名乱码问题
只有文件系统被设置成支持长文件名时,才能正常的对长文件名文件进行操作:创建长文件名文件、获取完整的长文件名、文件名称大小写字母被正常读取。 初学FatFs的同学们来说,常常会碰到“怎么创建不了文件呢?”、读...
SmartUpload 上传组件(中文终极解决版,包括中文文件名上传后乱码,中文参数,下载) 经过呕心沥血的一天一夜,终于搞定SmartUpload组件的所有中文问题,为大家去除有史以来最头痛的中文问题,包括中文参数,中文文件名...
通过注册表方式修改 使iis支持中文文件名 双击加入注册表即可
Fatfs文件系统支持长文件名,FATFS版本为 0.07e,文件寻址(即f_open)是使用短文件名的。
fatfs 文件系统 支持长文件名,只需要自己写底层驱动代码即可
文件下载response.setHeader()下载中文文件名乱码问题解决办法.pdf