Проблема с заголовком HTTP - PullRequest
0 голосов
/ 13 апреля 2011

Я использую Symfony 1.4.Я создал один PDF и отображается в новом окне.После того, как я отобразил PDF, когда я нажимал на другие ссылки, я получил следующий вид кода.Я думаю, что он показывает мой исходный файл HTML.

Как решить эту проблему?

141070HTTP / 1.1 200 OK Дата: среда, 13 апреля 2011 13:22:07 GMT Сервер:Apache / 2.0.63 (Unix) mod_ssl / 2.0.63 OpenSSL / 0.9.8e-fips-rhel5 mod_auth_passthrough / 2.1 mod_bwlimited / 1.4 FrontPage / 5.0.2.2635 X-Powered-By: PHP / 5.3.4 Истекает: четверг, 19 ноября1981 08:52:00 GMT Cache-Control: без хранилища, без кэширования, обязательная повторная проверка, пост-проверка = 0, предварительная проверка = 0 Прагма: отсутствие кэширования Keep-Alive: тайм-аут = 15, макс = 94Соединение: Keep-Alive Transfer-Encoding: chunked Content-Type: text / html;charset = utf-8 ... ... ...

Это мой код Symfony для отображения в формате PDF.

    $this->getResponse()->clearHttpHeaders();
    $this->getResponse()->setHttpHeader('Content-Disposition', 'inline; filename="' . basename($path) . '"');
    $this->getResponse()->setHttpHeader('Content-type', 'application/pdf');
    $this->getResponse()->setHttpHeader('Pragma: public', true);
    $this->getResponse()->setHttpHeader('Expires', 0);
    $this->getResponse()->setHttpHeader('Content-Transfer-Encoding', 'binary');
    $this->getResponse()->setHttpHeader('Content-Length', filesize($path));
    $this->getResponse()->sendHttpHeaders();
    ob_clean();
    flush();
    echo readfile($path);

1 Ответ

1 голос
/ 13 апреля 2011

Откуда берется 141070? Это первое, что отправляется клиенту, и должно быть HTTP/1.1 200 OK, которое запускает рендеринг HTML.

Клиент, вероятно, не знает, что делать с данными, и поэтому визуализирует их напрямую.

...