stahování soborů do modelu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- ondrusu
- Člen | 118
Ahojte, mám takový technický dotaz. Zde na nette foru jsem si našel jak se dají stahovat soubory.
public function actionDownload($id) {
$file_info = $this->meeting_facade->getMeetingFile($id);
$cesta = static::DOWN_SYS_DIR . static::DOWN_APP_DIR . '/' . $file_info->meeting->id . '/' . $file_info->name;
$httpResponse = $this->presenter->getHttpResponse();
$httpResponse->setHeader('Pragma', "public");
$httpResponse->setHeader('Content-Transfer-Encoding', 'binary');
$httpResponse->setHeader('Cache-Control', 'private');
$httpResponse->setHeader('Expires', '0');
$httpResponse->setHeader('Content-Length', $file_info->size);
$this->sendResponse(new FileResponse($cesta, $file_info->name, 'application/octet-stream'));
}
Zde je můje stahovací metoda, která je v presenteru na událost action
„download“.
Bohužel stahování souborů mám v projektu víc a vždycky se bude jednat
o tu sammou metodu.
Jde to nějak dát do modelu?? Řešili jste někdo podobný problém?
Nebo doporučujete to udělat jinak??
Díky za případnou odpověď.
- CZechBoY
- Člen | 3608
Co si udělat komponentu, který předáš cestu k souboru a ona odešle tu
odpověď?
Neboli něco takovýho co máš teď v tý actionDownload dát do komponenty
např. do metody attached($presenter).
btw. zdá se mi, že většina tvýho kodu je k ničemu… nastavuješ response a potom odešleš úplně jinou.