Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony][SF2][Symfony2]Pobranie pliku z serwera
ArtekZ
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 1.12.2011

Ostrzeżenie: (0%)
-----


Witam,
Mam problem z pobraniem pliku z serwera, otóż jak wywołuję akcję downloadFile zamiast okna do ściągania w przeglądarce otwiera się zawartość pliku.

Fragment controllera:
  1.  
  2. private function setPath()
  3. {
  4. $this->path = $this->container->get('kernel')->getRootDir().'/uploads/'.$this->getUser()->getId();
  5. }
  6.  
  7. public function downloadFileAction($fileId)
  8. {
  9. $this->setPath();
  10.  
  11. $path = $this->path;
  12.  
  13. $fileEntity = $this->getEm()->getRepository('MyFrontendBundle:File')->find($fileId);
  14.  
  15. $fileName = $fileEntity->getName();
  16. $file = $path.'/'.$fileName;
  17.  
  18. $response = new Response();
  19. $response->setContent(file_get_contents(($file)));
  20. $response->setStatusCode(200);
  21. $response->headers->set('Content-Type', $fileEntity->getMime());
  22.  
  23. return $response;
  24. }


Z góry dzięki za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
cadavre
post
Post #2





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Brakuje Ci headerów.
Zobacz tutaj: http://php.net/manual/en/function.readfile.php (Example #1)

Teoretycznie dodanie samego "Content-Disposition" powinno już pomóc.

EDIT:
Teoretycznie powinienem odesłać do http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html, ale to raczej lektura dla mocno spragnionych wiedzy. ;p

Ten post edytował cadavre 13.08.2013, 22:46:58
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 06:48