Vyřešeno: Redirect přímo na soubor po provedení action renderFile()

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
argosovo
Člen | 54
+
0
-

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:

  1. 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.
  2. 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)