2012-09-25 80 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);