请高手帮忙看看,错误在哪里呀?
我做了了下载页面,可点击下载后,文件名却是下载页面softdown.jsp,路径就不用说了。代码如下:
view.jsp 用于显示下载软件:
<table border = 1 align = "center" width="400" cellspacing=0 cellpadding=4>
<%
String id = new String();
id = request.getParameter("id");
String fname = new String();
String strSQL = "select fname,ftype,js,faddress from download where id=" + id;
ResultSet rs = sts.executeQuery(strSQL);
while(rs.next())
{
fname = rs.getString("fname");
String ftype = rs.getString("ftype");
String js = rs.getString("js");
String URL = rs.getString("faddress");
out.print("<tr><td valign=\"top\" width=\"100\">软件名称</td><td valign=\"top\" >"+ fname +"</td></tr><tr><td valign=\"top\" width=\"80\">软件类别</td><td valign=\"top\" >"+ ftype +"</td></tr><tr><td valign=\"top\" align=\"left\" >软件介绍</td><td colspan=2 width=\"320\">" + js + "</td></tr>");
}
rs.close();
%>
<tr>
<td bgColor=#ffffff><b>立即下载:</b></td>
<td>
<IMG src="images/down1.gif" border=0>
><a title="<%=fname%>" href="softdown.jsp?id=<%=id%>"><%=fname%></a>
</td>
</table>
softdown.jsp 用于实现下载:
<%
String id = new String();
id = request.getParameter("id");
String fname = new String();
String URL = new String();
String strSQL = "select fname,faddress from download where id=" + id;
ResultSet rs = sts.executeQuery(strSQL);
while(rs.next())
{
fname = rs.getString("fname");
URL = rs.getString("faddress");
}
rs.close();
out.print("下载软件:"+fname+",地址为:"+URL);
//获得响应客户的输出流
OutputStream o = response.getOutputStream();
//输出文件用的字节数组,每次发送500个字节到输出流
byte b[] = new byte[500];
//下载的文件
File fileLoad = new File(URL,fname);
//客户使用保存文件的对话框
response.setHeader("Content-Disposition","attachment; filename=\"" + fname+"\"");
//通知客户文件的MIME类型
response.setContentType("APPLICATION/OCTET-STREAM");
//通知客户文件的长度
long fileLength = fileLoad.length();
String length = String.valueOf(fileLength);
response.setHeader("Content_Length",length);
//读取文件,并发送给客户下载
FileInputStream in = new FileInputStream(fileLoad);
int n = 0;
while((n=in.read(b)) != -1)
{
o.write(b,0,n);
}
%>
在页面点击下载后,弹出了IE下载窗口,可是文件名是softdown.jsp?id=6,来源是:localhost
那位高手能为我解决一下!
问题点数:100、回复次数:6Top
1 楼querlang(编程浪子)回复于 2005-06-01 19:39:05 得分 10
href="softdown.jsp?id=<%=id%>"
应该用相对路径,可能是路径不对吧
Top
2 楼humanity(城市边缘的狼)回复于 2005-06-01 20:11:54 得分 45
response.setHeader("Content-Disposition","attachment; filename=\"" + fname+"\"");
fname 只应该是文件名, 不能出现 / \ 之类的符号 .Top
3 楼clover826251(娟子)回复于 2005-06-02 09:00:01 得分 0
我试过了,可还是不对呀。
明天就要交程序了,怎么办呀!!
各位高手,帮帮忙呀!Top
4 楼dreamofmoon()回复于 2005-06-02 09:24:24 得分 45
试试下面的:
response.setHeader("Content-Disposition","attachment; filename=" + fname);
response.setContentType( "application/doc;charset=GB2312");
问题应该在response.setContentType(此处类型多试几种)Top
5 楼clover826251(娟子)回复于 2005-06-05 11:13:12 得分 0
虽然问题没解决,不过还是感谢各位高手!Top
6 楼humanity(城市边缘的狼)回复于 2005-06-07 18:38:09 得分 0
分不好赚,省着点花.Top




