Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Ohjelman lataaminen hyperlinkistä

Sivun loppuun

esakom [27.01.2005 16:58:24]

#

Minulla on seuraavanlainen ongelma: Kotisivuillani (tehty frontpagella) on muutama .net ohjelma joita jaan. Ohjelmat ovat ihan exenä. Kun tällaiseen viittaava yrittää klikata hiiren vasemmalla, yrittää ohjelma heti ruveta suoriutumaan. Tämä ei onnistu. Jotta käyttäjä voisi ladata ohjelmatiedoston, täytyy hänen ensin valita hiiren oikealla "Tallenna kohde nimellä" tai vastaavaa.

Kysymys: Miten saan linkin käyttäjille helppokäyttöisemmäksi, niin että myös vasemmalla klikattaessa aloitettaisiin latausprosessi (vastaava kuin tuo tallenna kohde nimellä) suorittamisen sijaan? En haluaisi ruveta tekemään zippejä tai itsepurkautuvia exejä. Joudunko kyhäämään jonkun "Download"-napin (jos joudun, miten?) Haluaisin elegantin ja käyttäjälle helpon ratkaisun. Tarvittaessa myös php-koodin kirjoitus on mahdollista. Eli jos ei ole muuta vaihtoehtoa, esim. jotain frontpage-kikkaa, niin ilmeisesti voisin tehdä sen download-napin jonka taakse laittaa php-koodia, joka aloittaa kyselyn minne tallennetaan ja sitten lähettää tiedoston. Jos näin, niin miten se tehdään? En ole php:llä ennen ohjelmoinut, mutta osaan tarvittaessa sellaista koodiini lisätä jos saan esimerkin. Niin ja jos haluatte käydä testaamassa tilannetta tosielämässä, osoite on: http://www.esakom.net/ohjelmia/ohjelmia.htm

ville-v [27.01.2005 17:08:00]

#

Ei tuota voi mitenkään muuttaa. Käyttäjän pitää aina valita tuo tallenna, jos ei ole selaintaan pistänyt tallentamaan automaattisesti.

esakom [27.01.2005 17:25:04]

#

eikö edes jollain javascript kikalla? ongelma kai johtuu siitä että .net framework alusta yrittää suorittaa ohjelmaa serveriltä käsin. esim perinteisellä vc6:lla tehty exehän latautuu ensin johonkin explorerin temppihakemistoon ja suoriutuu sieltä.

Blaze [27.01.2005 17:25:51]

#

esakom kirjoitti:

Kun tällaiseen viittaava yrittää klikata hiiren vasemmalla, yrittää ohjelma heti ruveta suoriutumaan.

Korjaa ihmeessä selaimes asetukset. Exejen itsestäänsuorittaminen linkkiä klikkaamalla on vaarallista.

Meitsi [27.01.2005 17:28:46]

#

Mullaki aukee heti klikatessa :O mite sais korjattua? Mistä asetuksesta?
EDIT: Sain korjattua

ville-v [27.01.2005 17:30:20]

#

Javascript-kikoista en tiedä, mutta tuskin sellaisellakaan pystyy.

Ja kannattaa korjata ne selaimen asetukset.

EDIT: Meitsi kerkesi ensin :(

esakom [27.01.2005 17:32:11]

#

net-frameworkin security-osasto tuon ottaakin kiinni. luulisi että jotenkin onnistuu sellaisen napin teko että siitä käynnistyy lataus eikä suoritus (eikä haittaa vaikka kysyttäisiin käyttäjäljtä varmistus)

ajv [27.01.2005 18:50:58]

#

PHP:llä onnistuu ainakin redfile():llä ja sopivilla headereilla. En kyllä juuri nyt muista niitä headereita, mutta manuskasta nekin selviävät.

esakom [27.01.2005 19:28:02]

#

No sitähän minäkin että kyllä tämän on jotenkin onnistuttava. onnistui lopulta seuraavasti (löysin useita esimerkkejä netistä kun tarpeeksi surffasin)

<?
$filename = $_GET['file'];

// To prevent caching
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

// To tell the browser to download
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/save");

// To get a Save prompt and suggested filename
header("Content-Disposition: attachment; filename=".basename($filename).";");

// To send in binary
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize("$filename"));

// Read the file already
readfile("$filename");
exit();
?>

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta