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

hechangmao 2004-11-01 12:01:43
我想做一个类似软件下载的网页,我把数据存在数据库里,取文件时用 download.jsp?id=100但是下载时文件名总数"download"有什么办法可以将下载的文件名控制我真正的文件名?
...全文
86 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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();
%>

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧