[求助]有关JSP本地下载问题!请看下我得代码!
[这个贴子最后由baiyu1983在 2006/05/26 04:45pm 第 1 次编辑]这是管理系统的一个功能,要求从跟目录的 upload 文加夹中下载文件,我已经实现了下载,但是对于新加入文件夹的文件无法自动更新,只能在代码里改。请帮我修改下:可以自动检索 upload 文件夹中的文件并以列表形式表现出来,点击即可下载!
这是我的代码:
xiazai.jsp//下载页面的文件名,调用下面的download.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body bgcolor="#FFFFCC">
<p><A href=download.jsp?filename=peizhi.doc>安装配置Tomcat5</A></p>//需要手动修改下载目录
<p> <A href=download.jsp?filename=Winter.jpg>图片</A> </p>
<p> <A href=download.jsp?filename=tuijianbiao.doc>2006届毕业生就业推荐表</A> </p>
</body>
</html>
download.jsp//实现下载的页面
<%@ page
language="java"
contentType="text/html; charset=big5"
pageEncoding="BIG5"
import="java.util.*, java.io.*, java.net.URLEncoder"
%><%
String aa=getServletContext().getRealPath("/")+"upload\\"; //下载路径设置
String filename=request.getParameter("filename");
String src_fname = aa+filename;
String dst_fname = URLEncoder.encode(filename);
request.setCharacterEncoding("big5");
response.setContentType("application/octet-stream; charset=iso-8859-1");
response.setHeader("Content-disposition", "attachment; filename=\"" + dst_fname + "\"");
FileInputStream fis = null;
int byteRead;
try {
fis = new FileInputStream(src_fname);
while ((byteRead = fis.read()) != -1) {
out.write(byteRead);
}
out.flush();
}
catch (Exception e) {
out.clearBuffer();
response.setContentType("text/html; charset=big5");
response.setHeader("Content-disposition", "inline");
out.println("<HTML><BODY><P>");
out.println(e.toString());
out.println("</P></BODY></HTML>");
}
if (fis != null) {
fis.close();
}
return; // 避免下面多按了 Enter 键而输出多余的换行字元.
%>