+ -
当前位置:首页 → 问答吧 → 请教php中用ajax后台执行生成报表文件后,如何直接弹出下载保存对话框的实现!

请教php中用ajax后台执行生成报表文件后,如何直接弹出下载保存对话框的实现!

时间:2011-03-14

来源:互联网

使用的php+jquery,在后端执行生成excel文件后,如何弹出这个excel的下载对话框? 

我指的是IE默认的下载保存对话框,比如,当直接点击一个可下载的文件时,出现的 保存、打开的提示框!相当于href='/data/excel.xls' OnClik='../excel/xls' 点击后的效果! 

原先使用 window.opener 弹出新窗口,iframe重定向 但都被IE给拦截了,用户体验很不理想,想问下大家对这种需求都是如何实现的啊?!知道的麻烦告知下,谢谢了!

作者: sea267   发布时间: 2011-03-14

PHP里就可以完成了。不需要放到前端!
$file_path//就是文件的路径!可以是任何文件!
$file_size = filesize($file_path);
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: $file_size");
header("Content-Disposition: attachment; filename=".$file_name); 
这些代码之前不要有任何其他HTML或后台PHP输出,否则会出错!

作者: falizixun2   发布时间: 2011-03-14