IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Lancer un téléchargement en javascript


Sujet :

JavaScript

  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Par défaut Lancer un téléchargement en javascript
    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

  2. #2
    Membre très actif
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Par défaut
    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 ?

  3. #3
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.open(urlDuFichier,"_blank", null);

  4. #4
    Membre très actif
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Par défaut
    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 ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 34
    Par défaut
    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="/cgi-bin/download.cgi?file=toto.html&filename=nouveau.html">link</a>
    Mon script est écrit en shell sous Linux. Toute l'astuce est dans l'entête que tu envoies. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    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 ...

    Je sais pas si ca peut répondre à ta question, j'éspère en tout cas

    Ged.

  6. #6
    Membre très actif
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Par défaut
    y'a pas plus simple qu'une solution en shell ?

  7. #7
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    Par défaut
    Citation Envoyé par FremyCompany Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.open(urlDuFichier,"_blank", null);
    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write("<script language=\"JavaScript\">window.open('"+locationFile+"',\"_blank\", null);</script>");
    Mais j'ai une erreur javascript :Accès refusé

    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...

  8. #8
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Cela arrive si le téléchargement ne se situe pas sur ton serveur

    Dans ce cas, tu dois faire location.href="theURL";

  9. #9
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    Par défaut
    Citation Envoyé par FremyCompany Voir le message
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write("<script language=\"JavaScript\">window.open('location.href=\""+locationFile+"\"',\"_blank\", null);</script>");

  10. #10
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    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

  11. #11
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    Par défaut
    J'ai mis ça et ça fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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?

  12. #12
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    Par défaut
    C'est bon j'ai trouvé, c'était location.href= et pas (...)

Discussions similaires

  1. [VB.Net] Lancer un téléchargement
    Par Mikiman dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/01/2008, 11h52
  2. [Javascript] Lancer le téléchargement d'un fichier
    Par HaTnuX dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/01/2007, 10h03
  3. boite de téléchargement et javascript
    Par Langly dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/07/2006, 16h22
  4. Lancer un téléchargement
    Par Risike dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 05/04/2006, 12h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo