关于下载的问题,高手请进

teaky2002 2002-07-15 04:03:02
我做了一个下载的servlet,在我机器上面调,当下载框出现的时候,如果点在当前位置打开的话,它不能识别是什么程序,不会自己调用程序来打开,却跳出窗口来,如果选对了程序的话,它的内容很正常.而且下载也很正常.
但是如果在另一台机器上面下载的时候.它的显示都不正常,下载以后,连后缀名都识别不了.如果点在线打开的话,要跳两次打开方式的窗口.不知道什么回事.

下面是我的代码



ServletOutputStream sos = response.getOutputStream();
String path=getServletContext().getRealPath("/");
String filepath=request.getParameter("filepath");
filepath=new String(filepath.getBytes("iso-8859-1"),"GBK");
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment;filename=\""+path+"/" + filepath + "\"");
FileInputStream fis = new FileInputStream(path+"/"+filepath);
int j;
while((j = fis.read()) != -1) {
sos.write(j);
}
sos.flush();
sos.close();
fis.close();
...全文
65 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
feyu2000 2002-07-23
  • 打赏
  • 举报
回复
文件名有空格不能下载是因为你在该用""的地方你省略了。
leonzhao 2002-07-23
  • 打赏
  • 举报
回复
使用这种方法,正常的话都会跳出两次下载(如果你想打开)
qxjavajava 2002-07-20
  • 打赏
  • 举报
回复
你也许应该做一下判断,符合你的要求的进行下载,不符合的就。。。。
teaky2002 2002-07-20
  • 打赏
  • 举报
回复
我知道,但是我需要的是又能下载,又能打开的方式,由用户来选择啊。

我试过楼上的老兄的方法。不过这种方式只能在当前地方打开,而且如果文件名中有空格的话,会出问题。
leonzhao 2002-07-15
  • 打赏
  • 举报
回复
你如果想让程序打开的话就直接指定ContentType,而不是用这种下载的方法啊
ggyy 2002-07-15
  • 打赏
  • 举报
回复
a

62,612

社区成员

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

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