Bonjour,
J'aimerai savoir comment lancé et forcé le téléchargement en javascript d'un fichier?
Si vous avez un exemple ou un tutos çà serai sympa car j'ai bien cherché mais rien trouver :|
Version imprimable
Bonjour,
J'aimerai savoir comment lancé et forcé le téléchargement en javascript d'un fichier?
Si vous avez un exemple ou un tutos çà serai sympa car j'ai bien cherché mais rien trouver :|
En faite l'idéal serai que je puisse créer un objet window
que je lui fasse passer les bon parametres en header.
et que comme çà il lance le téléchargement et non la lecture.
Auriez vous un exemple ?
Code:window.open(urlDuFichier,"_blank", null);
et si le fichier est un .img ou .mp3 çà ne va pas le DL mais le lancer en lecture.
Comment faire pour forcer le téléchargement du fichier ?
Une solution dans ce cas serait de forcer ton telechargement avec un cgi coté serveur. C'est la solution que j'ai adopté personnellement. Du coup quand je veux lancer le telechargement de toto.html par exemple, je mets un lien du type :
Mon script est écrit en shell sous Linux. Toute l'astuce est dans l'entête que tu envoies. :Code:<a href="/cgi-bin/download.cgi?file=toto.html&filename=nouveau.html">link</a>
Mais je crois que tu as aussi la possibilité de faire ca directement en PHP. Moi je n'ai pas le droit d'utiliser PHP en l'occurence ...Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 #!/bin/bash # OPTS=`echo $QUERY_STRING | sed 's/&/ /g'` file= filename= eval $OPTS #petite précaution file=`echo \`basename $file\`` export file filename echo "Content-disposition: attachment; filename=$filename" echo "Content-Tranfert-Encoding: application/octet-stream\n" echo "Pragma: no-cache" echo "Cache-Control: must-revalidate, post-check=0, pre-check=0, public" echo "Expires: 0" echo "Connection: close" echo "Content-Type: application/force-download" echo #on prend les fichiers dans le repertoire tmp (ou autre) #et on le lit /bin/cat /TON_REPERTOIRE_HTTP/tmp/$file
Je sais pas si ca peut répondre à ta question, j'éspère en tout cas :)
Ged.
y'a pas plus simple qu'une solution en shell ?
je me permet de relance ce sujet bien que ma question est liée à du code C#.
Je dois lancer via du code c# le téléchargement d'un fichier. Je veux passer par du Javascript car les autres méthodes que j'ai utilisé bloque autre chose sur ma page... enfin bref j'ai essayé ceci dans mon code :
Mais j'ai une erreur javascript :Accès refuséCode:Response.Write("<script language=\"JavaScript\">window.open('"+locationFile+"',\"_blank\", null);</script>");
Le chemin locationFile est pourtant correct.... et l'utilisateur ASPNET a bien les droits sur les dossiers/fichiers concernés.
Merci d'avance pour votre aide...
Cela arrive si le téléchargement ne se situe pas sur ton serveur
Dans ce cas, tu dois faire location.href="theURL";
je n'ai plus d'erreurs javascript et la pop-up s'ouvre bien mais ça me met page introuvable..
Le chemin que j'envoie est de type c:\...\monfic.xls et il est bon...
Code:Response.Write("<script language=\"JavaScript\">window.open('location.href=\""+locationFile+"\"',\"_blank\", null);</script>");
Un téléchargement, comme son nom l'indique (tele = loin) provient d'un serveur, pas de local (x:)
Tu dois passer par le protocol http(s) ou ftp pour TELEcharger un fichier
J'ai mis ça et ça fonctionne :
Code:
1
2
3
4
5
6
7 scriptString = "<script language=javascript>" + "location.href(\"../Consolidation/Mensuelle/"+fileName+"\");" + "<" + "/script>"; Page.RegisterStartupScript("PopupDoc",scriptString);
J'ai integré ça dans un fichier .CS.
Mais ça ne fonctionne que sous IE. Firefox ne déclenche pas la demande de téléchargement (pop-up pourtant activé)... ça viendrait du c# ou du javascript?
C'est bon j'ai trouvé, c'était location.href= et pas (...)