2014-07-13 11 views
8

Potrzebuję służyć plików pdf za pośrednictwem kontrolera, ale nie mogę ich otworzyć w oknie przeglądarki. Kiedy wysyłam odpowiedź z plikiem pdf, renderuje ona bełkot, lub jeśli podążam za przykładem pod adresem http://symfony.com/doc/current/components/http_foundation/introduction.html#serving-files, pobiera plik, ale muszę go otworzyć w trybie przeglądania, jak mogę to zrobić?Symfony2 służyć otworzyć plik pdf

Oto co I'v dostał do tej pory:

return new Response(readfile('/file/path/file.pdf'), 200, 
    array('Content-Type' => 'application/pdf') 
); 

Am I czegoś brakuje, czy może coś jest nie tak z moim php lub konfiguracji apache?

+2

spróbuj ustawić "Content-Disposition: inline; filename.pdf' Header. – Rufinus

Odpowiedz

30

znalazł rozwiązanie:

Dodaj BinaryFileResponse przed deklaracji klasy sterownik z example

use Symfony\Component\HttpFoundation\BinaryFileResponse; 

kontroler powrotnej działanie BinaryFileResponse

return new BinaryFileResponse('/file/path/file.pdf'); 
-5

Mam ten sam problem

starać się dodaj to:

use \Symfony\Component\HttpFoundation\Response; 
....... 
return $response->headers->set('Content-type' , 'application/pdf');