Stránka 1 z 1

Programovanie www: Ako na otvorenie Save As dialogu?

Napsal: ned 10. kvě 2009, 21:48
od esso82
Caute...neviem si s tymto rady....mam na stranke videa (trailery z hier) a chcem aby bol pri kazdom videu link na DOWNLOAD, ale pokial ma uzivatel v prehliadaci definovany program na otvaranie .mov, .mp4., .avi alebo videosuboru s hociakou inou koncovkou, tak ho prehliadac po kliknuti na DOWNLOAD automaticky otvori, ja by som ale chcel, aby v kazdom pripade bez vynimky vyskocil dialogBox, v ktorom si uzivatel moze zvolit Otvorit alebo Ulozit Ako ...

da sa to nejako spravit? .... skusal som cez JS prikazom exec.Command ale nejako mi to nefunguje .... mate nejaky napad?...

...vdaka za rady....

Re: Programovanie www: Ako na otvorenie Save As dialogu?

Napsal: ned 10. kvě 2009, 21:59
od OndraSter
Leda tomu vynutit jiný MIME typ, který to rozhodně nebude chtít tak otevírat, třeba media/example. Vybírej odsud: http://www.iana.org/assignments/media-types/

Re: Programovanie www: Ako na otvorenie Save As dialogu?

Napsal: pon 11. kvě 2009, 18:01
od esso82
aha...to ma nenapadlo....a nebol by to problem, ale problem je v tom, ze kvoli prehraniu videa sa otvori jedno okno, kde sa video prehrava, nechcem preto otvarat dalsie okno kvoli downloadu...ale asi to nejako tak budem ,musiet vyriesit.....

dik Ondro ... som vedel ze pomozes :)))

Re: Programovanie www: Ako na otvorenie Save As dialogu?

Napsal: pon 11. kvě 2009, 18:10
od OndraSter
Jak otevřít ještě jedno okno? Teď jsem to moc nepochopil :oops: . Ukaž příklad a něco vymyslíme.

Re: Programovanie www: Ako na otvorenie Save As dialogu?

Napsal: pon 11. kvě 2009, 19:23
od esso82
no...ja uz to mam vymyslene..ale funguje to iba na 50% ...

ciel: po kliknuti na odkaz DOWNLOAD sa otvori nove okno, ktore forcne Save As dialog pomocou vynuteneho MIME typu (pre istotu som dal hned tri :) ) .... toto okno sa ale potom zatvori pomocou JS prikazu self.close

zelena cast vety funguje, cervena nie ... tu je kod na ktory sa odkazuje link DOWNLOAD
je to subor download_video.php
odkaz moze vyzerat nejako takto: http://localhost/download_video.php?vid ... r_27_1.mov

a tu je ten kod:

Kód: Vybrat vše

if(!isset($_GET['video'])) {
	echo "Video nie je k dispozícii. Skúste neskôr.";
} else {
	header("Content-Disposition: attachment; filename=".$_GET['video']);
	header('Content-Type: application/force-download');
	header('Content-Type: application/octet-stream');
	header('Content-Type: application/download');
	header("Content-Length: ".filesize(VIDEOS.$_GET['video']));
	echo file_get_contents(VIDEOS.$_GET['video']);
}
echo "<body>\n";
echo "<script type='text/javascript'>\n";
echo "setTimeout('self.close();',30000);\n";
echo "</script>\n";
echo "</body>\n";
...ako hovorim...az na ten JavaScript to funguje

Re: Programovanie www: Ako na otvorenie Save As dialogu?

Napsal: pon 11. kvě 2009, 20:20
od OndraSter
A na konec toho souboru, co to stahuje, se přidá

Kód: Vybrat vše

<body>\n
<script type='text/javascript'>\n
setTimeout('self.close();',30000);\n
</script>
</body>
:wink:

To takto neuděláš, jestli ten odkaz není "automatický" tak mu zkus dát target="_blank" a pak tomu oknu, ze kterého se to stahuje, to setTimeout window.close();

Re: Programovanie www: Ako na otvorenie Save As dialogu?

Napsal: pon 11. kvě 2009, 20:33
od esso82
no ono to tak v podstate je: toto je odkaz, ktory otvara to download okno, v nom je potom ten self.close prikaz...

Kód: Vybrat vše

echo "<script type='text/javascript'>\n";
echo "var new_dl_window;\n";
echo "function newDownloadWindow(url)\n";
echo "{\n";
echo "	new_dl_window=window.open(url,'playko.net portál | Video Download','height=400,width=475,left=400,top=50');\n";
echo "	if (window.focus) {new_dl_window.focus()}\n";
echo "}\n";
echo "</script>\n";

echo "<a href='".BASEDIR."download_video.php?video=".$data['video_path']."' style='font-size:20px; color:#00ff00; font-weight:bold; padding:10px 0px;' onClick='newDownloadWindow(this.href); return false;'>Download</a>";

Re: Programovanie www: Ako na otvorenie Save As dialogu?

Napsal: úte 12. kvě 2009, 15:53
od OndraSter
Ne, takhle to není, ty to máš takto:

Prohlížeči se odešle požadavek, že budeš posílat media/example a že má otevřít dialog na stahování. Odešle se obsah souboru a za to se vypíše (a odešle ke stáhnutí) to self.close();. To se samozřejmě taky uloží. Prohlížeč už to pak nezpracovává jako HTML/JS, ale prostě to uloží.

Jinak na ten localhost/ se nepodívám, já to na svém localhostu nemám.

Re: Programovanie www: Ako na otvorenie Save As dialogu?

Napsal: úte 12. kvě 2009, 18:01
od esso82
hehe...to s tym localhostom je mi jasne ... to som dal ako ukazku...jj...viem....malo to byt v CODE .. ale co uz...

...takze asi neexistuje sposob ako by sa to okno dalo automaticky zatvorit? ... ani nejaky JS prikaz, ktory by bol v rodicovskom okne a zatvoril by to okno, ktore sa otvorilo po kliknuti na odkaz DOWNLOAD?

Re: Programovanie www: Ako na otvorenie Save As dialogu?

Napsal: úte 12. kvě 2009, 18:11
od bubanek

Re: Programovanie www: Ako na otvorenie Save As dialogu?

Napsal: úte 12. kvě 2009, 19:27
od OndraSter
IMHO to není přesně, co on myslí, ale vymyslel jsem způsob, je to prasečina, ale funguje to v Opeře a IE (v každém trochu jinak), Firefox neposlušně zavře download okno, pokusím se ještě domyslet jak to udělat ve FF, ale jen mi řekni, jestli to je tak, jak chceš:
http://test.plnydisk.cz
(download na http://test.plnydisk.cz/test.zip)

Re: Programovanie www: Ako na otvorenie Save As dialogu?

Napsal: stř 13. kvě 2009, 18:16
od esso82
dik za snahu Ondro, ale uz sa dostavame niekde mimo toho, co bolo prvotnou myslienkou, ja potrebujem ponukat na stiahnutie video subory, nespakovane (v opacnom pripade sa userovi na 99.9% otvori subor v playeri namiesto ponuky na ulozenie) a ten test co si napisal, som si isty ze keby tam bol namiesto toho .dat suboru nejaky .mov , tak mi ho Opera otvori v playeri, takze asi budem na to musiet ist este nejako inak....

...este jedna vec...niekde som videl priklad, ze JS dokaze refresnut okno z ktoreho smeroval odkaz na ine _blank okno a vyzeralo to nejako ako window.opener.history.go alebo take nieco, nedalo by sa to napisat opacne? ... teda nieco ako window.opened alebo child alebo take nieco...zeby to malo nejaky identifikator...nevies nahodou? ... bo ja s JS moc neviem....

...vopred vdaka za odpoved.....