php导出下载Excel文件被IE阻止,怎么解决?用流输出也不行!

php中文网
发布: 2016-06-23 14:20:22
原创
1652人浏览过

下载Excel文件被IE阻止,怎么解决? 
当点击导出按钮时,通过AJAX在后台生成一个excel文件,想直接在页面上弹出文件是否保存的对话框,
无论是通过js的window.location.href='';还是 通过form 提交到新页面都不行,后台通过流方式输出,都被IE阻止; 
请问谁有办法解决?

$file_name="test.xls";$file_path="../data/down/2011/03/21/";$file_name = urldecode($file_name);// ../ is not allowed in the file nameif (!ereg("(\.\.\/)", $file_name)){// Does the file exist?	if (file_exists($file_path . $file_name))	{		$fp = @fopen( $file_path . $file_name, "r" );		//Prompt the user to download the new torrent file.		header("Expires: 0" );		header("Pragma:public" );		header("Cache-Control:must-revalidate,post-check=0,pre-check=0" );		header("Cache-Control:public");		header("Content-Type:application/octet-stream" );				if (strstr($_SERVER["HTTP_USER_AGENT"],"MSIE"))	{			header("Content-Disposition:attachment;filename=".urlencode($file_name) );		}else{			header("Content-Disposition:attachment;filename=".$file_name );		}		header("Content-transfer-encoding: binary");		header("Content-length:".@filesize( $file_path . $file_name ));				@fpassthru( $fp );		@fclose( $fp ); 	}	exit();} 
登录后复制




回复讨论(解决方案)

解决了,前台js的问题。。

 $.ajax({			type: "post", 			dataType: "html", 			url: "query.php",			//data:url,			cache:false,			beforeSend:function(){$('#load').css("top",$(document).scrollTop());$('#load').show('100');},			complete :function(){$('#load').hide('100');},			success: function(html){ 								$("#tests").html(html); 				//window.location = "test.php";//这句话放在此处会出现阻止的提示				},error:function(XMLHttpRequest,textStatus ){				alert("页面请求错误,请联系系统管理员!\n"+textStatus);			}			});window.location = "test.php";//放在这个位置就正常了!
登录后复制

那我就白捡分了 哈哈

太感谢了 纠结了2天的问题终于解决了。原来不能在ajax请求回调函数中进行下载请求。。。

太感谢了 纠结了2天的问题终于解决了。原来不能在ajax请求回调函数中进行下载请求。。。  额,你是怎么解决的啊?

谢谢分享哦!

WPS零基础入门到精通全套教程!
WPS零基础入门到精通全套教程!

全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号