Vyřešeno: Redirect přímo na soubor po provedení action renderFile()
- argosovo
- Člen | 54
Ahoj, nějak se v tom už ztrácím – existuje v Nette jednoduchý
způsob jak odkázat na obrázek, po té, co se v render metodě tento soubor
stáhne. Jednoduše: mám url obrázku, při zobrazování zjistím, že tento
obrázek ještě není na mém serveru, odkážu místo na obrázek na routu,
která zajistí stažení daného obrázku a vrátí relativní adresu k nově
staženému obrázku(do této části to funguje). Dále bych ale potřeboval
skončit provádění routované akce a odkázat přímo na daný obrázek.
Problémy mám v zásadě dva:
- redirect(), forward() mi vrací No route for Front:Files:upload/images/2015/10025/50375/2786510.jpg – tedy snaží se přeložit na routovatelnou adresu.
- podle diskuzí tady na fóru, bych neměl potřebovat přístup k basePath mimo latte(takže co by na tomto přístupu mělo být jinak abych se bez basePath obešel), nicméně kdybych potřeboval, v jaké proměnné v presenteru ho mohu najít?
Děkuji
Vyřešeno EDIT: po dalším zkoumání, šlo mi o to zjistit, že neexistuje pouze $this->redirect() ale i $this->redirectUrl(), které dokáže vyřešit můj problém. Na to že bych neměl použít basePath jak se všude píše jsem se vykašlal a vesele před relativní adresu v presenteru přidávám $this->context->httpRequest->url->basePath.
Editoval argosovo (13. 8. 2015 12:17)