Refresh Pagina Dopo Sendfile

Salve,

sto realizzando un sistema (semplice semplice) di download di un paio di file. Nel mio controller ho una action che gestisce il recupero del file e che richiamo con un link con un parametro:

view


Yii::app()->createUrl('product/download', array('type'=>'type1'))



controller


		public function actionDownload(){

		if (isset($_GET['type'])){

			$type = $_GET['type'];

			

			$fileName = '';


			if ($type=='type1'){

				$fileName = '/dir/type1.pdf';

			}else if ($type=='type2'){

				$fileName = '/dir/type2.pdf';

			}else{

				Yii::app()->user->setFlash('error', "Error downloading pdf");

				$this->redirect(Yii::app()->createUrl('product/index'));

			}

			

			if ($fileName != ''){

				Yii::app()->user->setFlash('success', "Downloaded: " . basename($fileName));

				

				Yii::app()->getRequest()->sendFile(basename($fileName), @file_get_contents($fileName), null, false);

				

				// $this->render(Yii::app()->createUrl('product/index'));

				// $this->redirect(Yii::app()->createUrl('product/index'));

			}

		}

		

		Yii::app()->user->setFlash('error', "Pdf not specified");

		$this->redirect(Yii::app()->createUrl('product/index'));

	}

se dopo la chiamata a sendfile metto un $this->render(Yii::app()->createUrl(‘product/index’)); il browser mi ritorna un errore “file non trovato”

se invece metto un $this->redirect(Yii::app()->createUrl(‘product/index’)); la pagina refresha ma non parte il download del file.

(il refresh della pagina mi serve per mostrare i flash… c’è magari un modo più intelligente?


$this->render(Yii::app()->createUrl('product/index'));

non ha senso, forse tu volevi scrivere


$this->render('product/index');

Si, in effetti il render era sbagliato, grazie.

Comunque continuo ad avere i problemi che ho esposto sopra: con il redirect refresha correttamente la pagina ma non scarica il file, con il render mi da errore il browser (Errore 6 (net::ERR_FILE_NOT_FOUND): Impossibile trovare il file o la directory.).

Mi manca qualcosa nelle configurazioni di routing? La directory che contiene i file è fuori da "protected" non so se ci incastra qualcosa…