stažení inline souboru přes hlavičky
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- onny
- Člen | 67
Dobrý den, snažím se přímo nějaký obsah předat prohlížeči jako soubor ke stažení (bez kroku uložení), což mě dovedlo ke kódu:
$name = 'objekt.vcf';
$httpResponse = Environment::getHttpResponse();
Environment::getHttpResponse()->setHeader('Pragma', "public");
Environment::getHttpResponse()->setHeader('Expires', 0);
Environment::getHttpResponse()->setHeader('Cache-Control', "must-revalidate, post-check=0, pre-check=0");
Environment::getHttpResponse()->setHeader('Content-Transfer-Encoding', "binary");
Environment::getHttpResponse()->setHeader('Content-Description', "File Transfer");
Environment::getHttpResponse()->setHeader('Content-Disposition', 'attachment; filename="' . $name . '"');
$httpResponse->setContentType('text/directory', 'UTF-8');
print $obsah;
$this->terminate();
Výsledek 0 = prázdná obrazovka. Je tam něco zle?
- marek.dusek
- Člen | 99
- co je v logu nette/apache?
- co se stane, pokud pridas nekam nakonec file_put_contents(‚dump‘, $obsah); neni to cele jen prohlizecem, ktery neumi ten mime typ? co kdyz se mime zmeni na text/plain?
+
- neni zbytecne si vytahnout response a pak do i lezt stejne pres Environment:: .. ? ;)
- videls DownloadResponse?
EDIT: tak fajn ;)
Editoval marek.dusek (14. 11. 2010 14:42)