如何控制从数据库中取出的文件的文件名

hechangmao 2004-11-01 12:01:43
我想做一个类似软件下载的网页,我把数据存在数据库里,取文件时用 download.jsp?id=100但是下载时文件名总数"download"有什么办法可以将下载的文件名控制我真正的文件名?
...全文
51 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
funcreal 2004-11-01
try {
response.setHeader("Content-disposition", "attachment;filename=\"" + FileName + "\"");
response.setContentType("application/x-msdownload");
int j = 0;

while ((j = in.read()) != -1) {
out.write(j);
}
out.close();
} catch (IOException e) {
e.printStackTrace();
}
有启发吗?
回复
hechangmao 2004-11-01
怎么做?
回复
fly3484139 2004-11-01
用数据流做下载,比较好。
回复
hechangmao 2004-11-01
谢谢诸位,给发罗!
回复
hujinzhong821225 2004-11-01
<%
//以上输出文件元信息
File t_file=new java.io.File("文件路径");
//long l=t_file.length();//文件长度
InputStream in=new FileInputStream(t_file);
if(in!=null)
{
String fs=t_file.getName();
response.reset();
response.setContentType("application/x-msdownload");//
String s="attachment;filename="+fs;//
response.setHeader("Content-Disposition",s);
//response.setContentLength((int)l);//设置输入文件长度
byte[] b=new byte[2048];
int len=0;
while((len=in.read(b))>0);
{
response.getOutputStream().write(b,0,len);//向浏览器输出\r
}
in.close();//关闭文件输入流\r
}
%>
回复
jinannanhai79 2004-11-01
<% // 得到文件名字和路径
String filename = "GoldWave.rar".toString();
System.out.println(request.getRealPath("."));
String filepath = request.getRealPath(".");
//String filepath = "d:\\GoldWave\\";
// 设置响应头和下载保存的文件名
response.reset();
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition","attachment; filename= \"" + filename + "\"");

// 打开指定文件的流信息
java.io.FileInputStream fileInputStream =new java.io.FileInputStream(filepath + filename);
// 写出流信息
int i;
while ((i=fileInputStream.read()) != -1) {
out.write(i);
}
fileInputStream.close();
out.close();
%>
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告