Autor Zpráva
Reg
Profil
Dobrý den,
potřeboval bych nějakou aplikaci (nejspíš) v JavaScriptu, která by udělala to, že po obyčejném kliknutí na odkaz, který vede na obrázek, by místo jeho zobrazení nabídla stažení. Přesně něco takového má Gmail při stahování příloh, ovšem nepodařilo se mi ten skript vyextrahovat.
Zde je ukázka:

- Úplně běžný odkaz


- Po kliknutí se JPG obrázek stahuje.

Stačí mi i skript, který bude fungovat jen ve FireFoxu, děkuji předem.
llook
Profil
Na tohle je potřeba skript na serveru. Třeba v PHP by vypadal takhle:
<?php
header('Content-Type: image/jpeg');
header('Content-Disposition: attachment; filename="obrazek.jpg"');
readfile('obrazek.jpg');
?>
Prvním voláním funkce header říkám prohlížeči, že jde o JPEG obrázek, tím druhým voláním že to má nabídnout ke stažení a funkce readfile pošle obsah souboru na výstup. Odkaz ke stažení pak musí vést na ten PHP skript.
Reg
Profil
Děkuji, tenhle postup relativně funguje, až na pár drobností, které bych rád doladil:
1. při stahování se zobrazuje "neznámá velikost souboru"
2. jak mám zapsat content-type když předem nevím, o jaký typ souboru jde (pokud tuto hlavičku nepoužiju nezobrazí se ikona ani možnost otevření v programu...)
DJ Miky
Profil
Reg
1. Pošli hlavičku Content-Length s počtem bajtů v souboru
2. Myslím, že je možné poslat typ application/octet-stream, ale nejsem si jistý...
Reg
Profil
1. Dík, funguje
2. Nakonec mi to funguje s Content-Type: auto

Děkuju tedy za rozřešení problému. :)
Toto téma je uzamčeno. Odpověď nelze zaslat.