2012-09-25 40 views
1

我使用Zend_Pdf创建一个新的pdf,然后强制浏览器下载文件。该网站只能通过https访问。这是我的文件输出:通过HTTPS的Internet Explorer 8中的Zend_Pdf流

$output = $pdf->render(); 
$response = new Zend_Controller_Response_Http(); 
$response->setHeader('Content-Disposition', 'attachment; filename="xyz.pdf"'); 
$response->setHeader('Content-type', 'application/pdf'); 
$response->setHeader('Content-length', strlen($output)); 
$response->setHeader('Cache-Control', 'private'); 
$response->setHeader('Expires', '0'); 
$response->setHeader('Pragma', 'private'); 
$response->setBody($output); 
$response->sendResponse(); 

我读过关于用于此目的的右头的文章很多,但自己是不是在使用Internet Explorer 8,每当工作,你尝试生成并下载PDF下载对话框显示出来,但它说没有什么可下载的。文件名是错误的(而不是xyz.pdf它显示的网站生成形式是对的名称)

测试和工作:火狐,Chrome,IE9,歌剧,Safari

我也尝试过不同的Cache-Controle头文件或Pragma头文件的可能性,就像很多文章所谈论的一样。

+0

你可能想回答你自己的问题 –

回答

0

好的,第三个参数是覆盖选项。

$response->setHeader('Cache-Control', 'private', true); 
$response->setHeader('Expires', '0', true); 
$response->setHeader('Pragma', 'private', true);