Jak zobrazit pdf soubor v prohlížeči?
- Relapse
- Člen | 34
Dobrý den,
rád bych v prohlížeči zobrazil pdf soubor uložený na serveru.
Tady na foru jsem vyčetl, že se to dá udělat pomocí FileResponse() a našel
jsem něco takového:
public function actionInvoice()
{
header('Content-Type: application/pdf');
header('Content-Disposition: attachment;filename="membership.pdf"');
header('Cache-Control: max-age=0');
$this->sendResponse(new Responses\FileResponse(cesta/soubor.pdf', 'soubor.pdf'));
}
Prohlížeč však zahlásí: soubor nenalezen.
Děkuji za pomoc.
- castamir
- Člen | 629
Soubor nenalezen znamená, že máš blbě cestu k souboru =)
Jinak stažení souboru pak děláš správně přes FileResponse, ale
rozhodně není potřeba nijak upravovat hlavišku header
. Stačí
prostě:
public function actionInvoice()
{
$this->sendResponse(new Responses\FileResponse(/uplna/cesta/k/souboru.pdf', 'soubor.pdf'));
}
Edit: ještě mě napadá, že ta chyba se ti může zobrazit i jinde (fakt nevím, co máš konkrétně za chybu, tak jen hádám): pokud máš v root složce v souboru .htaccess následující řádek:
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
tak smaž to pdf|
Editoval castamir (10. 11. 2014 10:18)
- petr.jirous
- Člen | 128
Relapse napsal(a):
Dobrý den,
rád bych v prohlížeči zobrazil pdf soubor uložený na serveru.
Tady na foru jsem vyčetl, že se to dá udělat pomocí FileResponse() a našel jsem něco takového:public function actionInvoice() { header('Content-Type: application/pdf'); header('Content-Disposition: attachment;filename="membership.pdf"'); header('Cache-Control: max-age=0'); $this->sendResponse(new Responses\FileResponse(cesta/soubor.pdf', 'soubor.pdf')); }
Prohlížeč však zahlásí: soubor nenalezen.
Děkuji za pomoc.
chybí ti tam uvozovka: ‚cesta/soubor.pdf‘,
Editoval petr.jirous (10. 11. 2014 13:16)