>>>>>>>>>>>>> downloadfile.jsp
<%@ page contentType="text/html;charset=utf-8" %>
<%@ page import="java.io.*"%>
<html>
<body>
单击超链接下载下面的文件:
<%
File dir = new File("G:/JspExercise/File/testfiles");
File[] files = dir.listFiles();
for(int i=0;i<files.length; i++){
String name = files[i].getName();
out.print("<br><a href='downloadfile2.jsp?name="+name+"'>"+ name + "</a>");
}
%>
</body>
</html>
>>>>>>>>>>>>> downloadfile2.jsp
<%@ page contentType="text/html;charset=utf-8" %><%@ page import="java.io.*"%><%
/****** 特别注意:本程序片之前不能有任何空格或换行符!! 整个JSP中不能使用任何html标记!! ******/
OutputStream o = response.getOutputStream();
String fileName = request.getParameter("name");
byte[] temp = fileName.getBytes("ISO-8859-1");
fileName = new String(temp,"utf-8");
System.out.println(fileName);
String filedir = "G:/JspExercise/File/testfiles/";
response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes(),"iso-8859-1") );
response.setContentType("text/html;charset=utf-8");
FileInputStream in = new FileInputStream(filedir+fileName);
int bytesRead;
byte[] buf = new byte[4 * 1024];
while ( (bytesRead = in.read(buf)) != -1)
{
o.write(buf, 0, bytesRead);
}
in.close();
o.close();
%>