« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
|
统计 |
blog名称:小雨 日志总数:262 评论数量:1273 留言数量:15 访问次数:4671040 建立时间:2005年1月8日 |
| 
|
W3CHINA Blog首页 管理页面 写新日志 退出
[经验杂谈]下载页面关闭的问题 |
小雨 发表于 2005/4/15 11:08:04 |
为了不直接打开doc,为了不直接打开pdf,(怎么有点像“为了革命”的语气)哈哈,
总之,为了不要ie自作主张自己打开文件,我写了下面的程序 (downfile.jsp)
<% request.setCharacterEncoding("GB2312");%><% //String temp= request.getParameter("name");
String name=temp;//String shtml=temp;int j=0;String [] shtmls= new String[5];
StringTokenizer st = new StringTokenizer(temp, "/", false);while (st.hasMoreTokens()){ shtmls[j] = st.nextToken(); j++; if (j>3) break;} temp=System.getProperty("user.dir")+"\\webapps\\ROOT\\"+shtmls[1]+"\\"+shtmls[2];
name =new String(shtmls[2].getBytes("gb2312"),"iso-8859-1");
response.reset(); response.setContentType("*/*");response.addHeader("Content-Disposition","attachment; filename= "+name);java.io.OutputStream os = response.getOutputStream();java.io.FileInputStream fis = new java.io.FileInputStream(temp);
byte[] b = new byte[1024];int i = 0;try{while ( (i = fis.read(b)) > 0 ){ os.write(b, 0, i);}fis.close();os.close();}finally{}%>可是由于这个页面是打开了新的页面,所以下载完毕并不关闭,想了好多好多办法,都不成功,其实很简单,我不要他在新的页面执行,就在self里面执行
out.println("<a href=../downfile.jsp?id="+id+"&sessionid="+session.getId()+"&sndId="+sndId+" target="_black">下载</a>"
改:
out.println("<a href=../downfile.jsp?id="+id+"&sessionid="+session.getId()+"&sndId="+sndId+" 下载</a>"
就ok了,洗脸去
|
阅读全文(2300) | 回复(0) | 编辑 | 精华 |
|