打开新页面下载文件后新页面不能关闭的问题

番茄鲨鱼面 2015-02-12 09:43:09
操作流程:
1.点击列表页面的下载按钮,弹出新页面进行下载。

2.下载页面选择路径并确定下载后开始下载文件。

问题:
chrome打开新页面下载,下载完成后关闭下载页面。(这是我期望的结果)
ie打开新页面下载,下载完成后不能关闭下载页面。(这是问题)
主要实现代码:
下载页面主要代码:
	response.reset();//可以加也可以不加
response.setContentType("application/x-download");
response.addHeader("Content-Disposition","attachment;filename=slservSearchManage.xls");
SlServSearchManageClient Client = new SlServSearchManageClient();
if(operType.equals("export")){//测试日志导出
Client.exportExcelForTestLog(request,response);
}
%>
<script>
window.close();
self.close();//关闭子页面
</script>

在exportExcelForTestLog方法中获取response.getOutputStream();然后利用这个输出流生成文件。
...全文
198 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
番茄鲨鱼面 2015-02-12
  • 打赏
  • 举报
回复
引用 2 楼 u011514731 的回复:
试试 response.setContentType("application/vnd.ms-excel;charset=UTF-8");
不是这个原因导致的
番茄鲨鱼面 2015-02-12
  • 打赏
  • 举报
回复
引用 3 楼 slwsss 的回复:
用iframe
<a target="if" href="http://dlsw.baidu.com/sw-search-sp/soft/3a/12350/QQ6.9.13786.0.1422410355.exe">下载</a>
<iframe name="if" style="display:none;"></iframe>
这个下载也可以,但是有一个问题,数据多的时候文件生成比较耗时,所以在下载之前js弹出一个loading的等待条,在下载页面的js根本就不执行了,所以这个loading不能关闭。 如上面的下载页面主要代码中的js:alert('close download window');根本就没有执行。

   if(operType.equals("export")){//测试日志导出
        Client.exportExcelForTestLog(request,response);
    }
%>
<script>
alert('close download window');
window.close();
self.close();//关闭子页面  
</script>
因此我才改成新页面下载的,弹出新页面用户知道已经开始下载了,就不能弹出loading图标了。
番茄鲨鱼面 2015-02-12
  • 打赏
  • 举报
回复
引用 1 楼 xmt1139057136 的回复:
f12 debug 看看是否报错,self是什么,关闭哪个页面??
没有报错,ie10下载页面能下载后自动关闭,chrome也能,360浏览器的ie模式打开下载页面后不能自动关闭下载页面。
slwsss 2015-02-12
  • 打赏
  • 举报
回复
用iframe
<a target="if" href="http://dlsw.baidu.com/sw-search-sp/soft/3a/12350/QQ6.9.13786.0.1422410355.exe">下载</a>
<iframe name="if" style="display:none;"></iframe>
波儸密 2015-02-12
  • 打赏
  • 举报
回复
试试 response.setContentType("application/vnd.ms-excel;charset=UTF-8");
业余草 2015-02-12
  • 打赏
  • 举报
回复
f12 debug 看看是否报错,self是什么,关闭哪个页面??

10,611

社区成员

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

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