Comment faire un force-download ?

Signaler
Messages postés
250
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
27 janvier 2011
-
Messages postés
250
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
27 janvier 2011
-
J'aimerai que lorsque l'on clique sur un lien pointant vers un fichier compatible avec le navigateur (un fichier html par exemple), la boite de dialogue de téléchargement s'ouvre au lieu d'afficher le fichier.

Est-il possible de faire un force-download en javascript ?

Merci.

10 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
amical Bonjour à toi aussi,

    pas sûr de comprendre ce qu'est un "force-download", mais
    si j'interprête correctement, coté langage serveur ( asp,php,ror... )
    ça ne devrait poser que peu de problèmes.

<hr />


Cordialement            Bul         [mon Site]     [M'écrire]           




<hr />
Messages postés
250
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
27 janvier 2011
9
Bonjour,

Faire un force-download correspond à changer le type mime du fichier pour obliger le navigateur à le télécharger.
C'est pour ça que j'aimerai savoir s'il existe une façon de faire un force-download (ou un équivalent) en Javascript (uniquement en javascript, pas en php ou autre).
Merci.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
    à mon humble avis, ça va pas être simple.
    peut-être me trompe-je ?
<hr />


Cordialement                Bul         [mon Site]     [M'écrire]           




<hr />
Messages postés
250
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
27 janvier 2011
9
A mon avis non malheureument...
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour




Je ne me vois pas très bien arriver sur un site et constater qu'un fichier a été téléchargé sans me demander mon avis, et avec un type MIME modifié !!! Ceci dit, sans technologie serveur, je doute que ce soit réalisable. Pour l'info, quand même, je suis tombé sur une source interressante à plus d'un titre (mais en ASP) : http://www.aspfr.com/code.aspx?ID=27799

Cordialement
Roro webDev
Messages postés
250
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
27 janvier 2011
9
Bonjour,
Désolé mais vous n'avez rien compris.
Ma question était comment télécharger une page html (par exemple) en cliquant sur un lien, car en temps normal le navigateur n'ouvre pas sa boite de dialogue de téléchargement mais ouvre la page.

"a été téléchargé sans me demander mon avis"
>Tout les sites téléchargent des fichiers sur votre disque dur, dans un cache.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
>>comment télécharger une page html (par exemple) en cliquant sur un lien

je pense avoir compris, et je pense ( je m'avance pour lui ! ) que roro a compris lui aussi.
je me cite :

à mon humble avis, ça va pas être simple si "pas fait du coté serveur"
si tu as une solution, j'espère que tu nous la donneras...



<hr />



Cordialement                Bul             [mon Site]         [M'écrire]           




<hr />
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour




Oui, oui, j'avais très bien compris.
Une petite précision : aucun site ne télécharge de fichiers sur mon disque dur : C'est mon navigateur qui les récupère et les mets en cache (et encore, si je l'y autorise, ce qui n'est pas le cas, d'ailleurs). L'utilisation du cache du navigateur ne peut pas être assimilé a du "force-download".

"Uniquement en javascript", je ne pense pas que ce soit possible, javascript n'ayant pas accés au disque dur, justement (je ne parle pas de Jscript, ici, qui lui permet beaucoup plus de choses, mais "IE only" !). Une piste : l'utilisation de Jscript pour IE, puis XUL pour FF, puis ... pour les autres navigateurs.

Comme dit Bul, si tu as la solution, donne-la nous (STP, bien sûr). Je pense que ça interesserait aussi beaucoup les "traqueurs de failles"

Cordialement
Roro webDev
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
>>

j'avais très bien compris.
    nul n'en doutait roro, ma phrase était du second degré bien entendu.

>>



Jscript...
    oui, il va falloir se connecter sur le site, récupérer le fichier,
        le télécharger, l'écrire en local. pas trop compliqué avec
        sockets par exemple.

>>Xul et XPCom
        aussi possible, mais je suis incompétent là
       ( enfin 


plus exactement :


là aussi  )

    j'éviterais et pas seulement parce qu'exclusif IE et/ou FF.

    beaucoup plus simple, et ça marchera "avec tout", soit de mettre
        un autre suffixe, soit de le faire coté serveur.





<hr />



Cordialement            Bul         [mon Site]     [M'écrire]           




<hr />
Messages postés
250
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
27 janvier 2011
9
Pour l'instant je n'ai rien trouvé.

'javascript n'ayant pas accés au disque dur' ==> Le problème n'est pas ici, il ne faut pas que ce soit le script qui écrive le fichier sur le disque, mais simplement que le navigateur considère le fichier comme incompatible pour lui et donc qu'il affiche sa fenêtre de téléchargement au lieu d'afficher le contenu du fichier. C'est tout à fait faisable en php ou asp ou autres (en utilisant le type mime force-download) mais cela risque d'être impossible en javascript.

A bientot.