我使用Zend_Pdf创建一个新的pdf,然后强制浏览器下载该文件 . 该网站只能通过https访问 . 这是我的文件输出:
$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();
我已经阅读了许多关于用于此目的的正确 Headers 的文章,但有些东西在Internet Exporer 8中不起作用 . 每次尝试生成并下载pdf时,下载对话框都会显示,但它表示没有任何内容可供下载 . 文件名错误(而不是xyz.pdf,它显示生成表单所在的站点的名称)
经过测试和使用:Firefox,Chrome,IE9,Opera,Safari
我也尝试过Cache-Controle标头或Pragma Header的不同可能性,就像许多文章所说的那样 .
1 回答
好的,第三个参数是覆盖选项 .