volanie downloadu suboru v sablone
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
 
- Charlie
- Člen | 11
Čaute,
snažím sa urobiť kód, kde bude možný download súboru, ktorý je uložený v db. Našiel som niekoľko príkladov, ako na to. Urobil som v presenteri funkciu. V nej nastavujem hlavičku HTML a robím echo obsahu súboru. Neviem však, ako ten download zavolať z templatu. Keď to definujem ako link takto:
<a href="{link :downloadfile, $rec['fileID']}" target="_blank">{$rec['fileName']}</a>tak sa mi to snaží vypísať jeho obsah na obrazovku.
Môžte poradiť, ako na to? 
- Charlie
- Člen | 11
	public function actionDownloadfile()
	{
	  $data = array('fileID' => $this->getParam('fileID'));
  	  $fileData = DataModule::getFile($data);
			$httpResponse = Environment::getHttpResponse();
			$httpResponse->setContentType('application/octet-stream');
			$httpResponse->setContentType('application/force-download');
			$httpResponse->setContentType('application/download');
			$httpResponse->setHeader('Pragma', "public");
			$httpResponse->setHeader('Expires', 0);
			$httpResponse->setHeader('Cache-Control', "must-revalidate, post-check=0, pre-check=0");
			$httpResponse->setHeader('Content-Transfer-Encoding', "binary");
			$httpResponse->setHeader('Content-Description', "File Transfer");
			$httpResponse->setHeader('Content-Length', $fileData[0]['size']);
			$httpResponse->setHeader('Content-Disposition', 'attachment; filename="' . $fileData[0]['name'] . '"');
  			echo $fileData[0]['fileContent'];
}

