Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony][SF2][Symfony2]Pobranie pliku z serwera
Forum PHP.pl > Forum > PHP > Frameworki
ArtekZ
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.
cadavre
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.