框架强制下载PDF文件无效

#1 kao10324

  我在控制器里写的强制下载pdf函数:
function look(){
header('Content-type: application/pdf');
header('Content-Disposition:attachment;filename=indicium.pdf');
readfile('uploads/indicium/201404161524356912.pdf');
    }
结果执行的时候.浏览器直接把pdf在网页中读取显示.没有执行强制下载.

在网站根目录里写test.php文件:
header('Content-type: application/pdf');
header('Content-Disposition:attachment;filename=indicium.pdf');
readfile('uploads/indicium/201404161524356912.pdf');
?>
直接执行,会弹出下载框,可以进行下载.

是框架限制了强制下载吗?

2014-04-16 15:52:25

#2 jake

没做限制~~~你可以检查一下框架的代码。

我觉得可能是在之前或者之后有输出什么东西了,你在header之前清一下ob看看

2014-04-16 15:54:40

#3 kao10324

jake 发表于 2014-4-16 15:54
没做限制~~~你可以检查一下框架的代码。

我觉得可能是在之前或者之后有输出什么东西了,你在header之前清 ...
奇怪了,核心类没动过;整个文件就这样的.应该是没有echo输出
class order extends spController{
function look(){
header('Content-type: application/pdf');
header('Content-Disposition:attachment;filename=indicium.pdf');
readfile('uploads/indicium/201404161524356912.pdf');
    }
}

2014-04-16 16:10:19

#4 jake

在header前加上ob_clean();
readfile后加上ob_end_clean();

2014-04-16 16:35:11

#5 kao10324

jake 发表于 2014-4-16 16:35
在header前加上ob_clean();
readfile后加上ob_end_clean();
页面出来是空白,也不执行强制下载pdf.谢谢你,我再想想什么情况

2014-04-16 16:54:58

#6 jake

还有,检查你的程序文件的BOM,包括index.php等等

2014-04-16 22:44:02