PDA

Pogčedajte punu verziju : Imenovanje datoteka linkova


Pedja
24. 08. 2006., 12:23
Kreiram PDF dokument. U zaglavlje upisem sve sto treba ikada korsinik otvori dokument pa odluci da ga snimi, browser mu ponudi iem datoteke koje sam zadao u zaglavlju.

Medjutim, kada su PDF dokumenti upitanju, korsinici vrlo cesto njih ne zele da ovore u browseru (jer browseri vrlo traljavo rade sa online PDF), vec zele da kliknu na link, izaberu "Save Link..." i snime PDF kao datoteku.

E tu imam problem jer im je uvek ponudjeno da datoteku snime pod imenom skripta kojigenerise PDF, a bilo bi dobro kada bi i tu moglo da se podmetne zeljeno iem datoteke. Po onomse sto znam, tako nesto je nemoguce ali rekoh, 'ajd' da pitam, mozda ipak postoji neki nacin.

BraMom
24. 08. 2006., 14:03
Evo koda iz jednog mog skripta. Ovakav header ce forsirati download, tj. neće prikazati sadržaj u browseru bez obzira na tip fajla.

header('Content-Type: application/save');
header('Content-Disposition: attachment; filename=' . $FileName);
header('Content-Transfer-Encoding: binary');

Dušan Dželebdžić
24. 08. 2006., 23:19
Nije na izmet ni da dodaš
header('Content-Length: '.filesize($fileName));
da bi UA znao koliki ga fajl čeka. Naravno, ovo radiš samo u slučaju da prethodno generišeš PDF na disku.

Pedja
25. 08. 2006., 11:16
Ovo sa save opcijom je zanimljiov, ali je problem sto ja ne mogu korisnika da primoravam da preuzme datoteku, vec je to stvar njegovog izbora.

Dušan Dželebdžić
25. 08. 2006., 11:25
Mislim da bi ti pomoglo Content-Type: application/pdf

MorenoArdohain
25. 08. 2006., 11:27
Pa zar ne bi korisnik trebalo da dobije 2 opcije: jednu za snimanje i drugu za otvaranje u browseru? Samo promeni taj content-type da bude PDF, pa ce korisnik moci da izabere jednu opciju.

Edit: Dusane, srodna dusho! :D

Pedja
25. 08. 2006., 15:03
U zaglavlje stavljam:

WRITE_HEADER ("Content-Type: application/pdf")
WRITE_HEADER ('Content-Length:' + ALLTRIM (STR (nSize)))
WRITE_HEADER ("Content-Disposition: inline;filename=" + pPDFDocumentName)

I to radi ok kada korisnik klikne na link i otvori ga u browseru. Medjutim kada na isti link ide desnim klikom pa izabere SaveAs, ponudi mu ime skripta za download a ne ime dokumenta datog u zaglavlju (sto je i normalno, jer skript niej pokrenut pa zaglavlje nije ni generisano)

Da stavljam dva linka, ne mogu, skucen mi je prostor, a i nije to pravo resenje.
Sta mogu ostace ovako, nek otvori u browser-u pa onda snimi...

MorenoArdohain
25. 08. 2006., 15:10
Pedja, a jesi li uopste probao umesto inline da bude attachment??
Jer tada korisnik dobija dve opcije, za gledanje u browseru i za download