Zobrazení náhledu a stažení PDF z BLOBU
- Koupilsemto
- Člen | 38
Zdravím, chtěl bych se zeptat… uložil jsem si pdf do blobu (potřebuji to v blobu) do databaze mysql ale netuším jak jej zobrazit a stáhnout pomocí nette. zatím dokážu zobrazit pouze cestu k tomu. Chtěl bych 2 tlačítka 1 zobrazí náhled na pdf a 2 ho rovnou stáhne. Podle návodu na forech a dokumentaci se mi to moc nedaří. Za případnou odpověd děkuji.
Editoval Koupilsemto (27. 12. 2017 19:20)
- Felix
- Nette Core | 1247
Je pravda, ze dokumentace na tema odesilani vlastni response je docela skoupa na slovo. Podle me potrebujes v presenteru vytvorit vlastni response a odeslat ji. Viz sekce o MVC a presenterech.
public function actionDownload()
{
$this->sendResponse(new Nette\Application\Responses\FileResponse($filepath));
}
Jak je zrejme, objekt FileResponse
potrebuje cestu k souboru,
resp. realnou cestu. Takze pokud mas nejaka binarni data, tak ten soubor realne
neexistuje. Muzes ho vytvorit a pak poslat uzivateli…
Nebo, si muzes poslat specialni CallbackResponse
.
public function actionDownload()
{
$this->sendResponse(new Nette\Application\Responses\CallbackResponse(function($request, $response) {
// read file data
// set code $response->setCode($code);
// set headers $response->setHeader($key, $value);
}));
}
Idealne, kdyz si pro svoje ucely napises nejakou
FilePreviewResponse
a FileDownloadResponse
, kde posles
data jaka potrebujes a nastavis hlavicky, jake potrebujes.
Snad to pomohlo. ;-)
Editoval Felix (27. 12. 2017 21:59)