|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() |
Bonjour!
Voilà mon problème. J'ai une petite animation tout simple, avec un lien vers un PDF. Sous Firefox, lors d'un clic sur ce lien, le fichier PDF s'ouvre dans un nouvel onglet FF (objet application/pdf). Sous IE par contre, il bloque cette nouvelle fenêtre qu'il considère comme popup. Ma question: comment faire pour forcer l'utilisateur à télécharger le PDF (et non plus l'ouvrir dans le navigateur)?? |
|
|
00
|
|
|
#2 |
|
En attente de confirmation mail
|
salut
met ton pdf en zip et tu auras automatiquement une invite a telecharger le fichier a+ |
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() |
C'est une solution en effet, mais je ne peux pas mettre le PDF en Zip.
C'est une question d'image pour la société pour laquelle je bosse, ce n'est pas très pratique de le zipper, et tout le monde (le très grand public) ne sait pas spécialement comment ouvrir ce genre de fichier... Et mon patron vient de me dire: "Non, pas de zip!"... Donc... Mais merci quand même! Une autre solution? |
|
|
00
|
|
|
#4 | ||
|
Membre expérimenté
![]() Inscription : octobre 2006 Messages : 642 ![]() |
Non ce script le fait très bien:
mets ca sur ton lien pour lancer le téléchargement: Citation:
Citation:
Exemple sur www.aliose.ch sous la section me lire -> mon travail de maturité -> télécharger le |
||
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() |
Euh c'est en Flash en fait... Donc ce script il fonctionnera aussi? C'est une animation Flash, le lien vers le fichier c'est simplement un getURL()... Parce que là je vois pas où je peux mettre ce script! |
|
|
00
|
|
|
#6 |
|
Membre expérimenté
![]() Inscription : octobre 2006 Messages : 642 ![]() |
Lol, moi aussi c'est du flash. Mon <a href="send.php">letextedetonlien</a> est utilisé par du texte html.
Si tu veux le mettre sur un bouton, un getURL est tu fais appel à une méthode javascript qui lance ton send. En faite, plus simple tu n'as qu'à lancer ton script php une fois ton bouton cliqué. |
|
|
00
|
|
|
#7 | ||
|
Membre éclairé
![]() |
Désolé mais cette solution ne me satisfait pas.
C'est un site pro sur lequel je bosse, et je peux pas modifier les fichiers comme je veux... Par contre, en surfant sur ce forum, j'ai trouvé ceci: méthode FileReference.download http://www.developpez.net/forums/sho...d.php?t=231553 En recherchant dans l'aide de Flash, j'ai trouvé ceci: Code :
|
||
|
|
00
|
|
|
#8 |
|
Membre éclairé
![]() |
OK c'est bon ça marche nickel...
Pour ceux que ça intéresserait, il suffit de mettre ce code (celui du post précédent) dans un Sans oublier bien sûr de pointer vers votre fichier! |
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2006 Messages : 103 ![]() |
J'ai testé, je suis newbie
Peux tu me dire pourquoi, l'option de téléchargement se fait dès que j'entre sur la page et non sur le onPress du bouton? |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 4 ![]() |
Bonjour,
Voila le contexte : Je développe une application en Flex, et une action de l'application génère un fichier texte du coté serveur (Java, avec Tomcat). Je souhaiterais une fois cette action terminé, autrement dit une fois que le fichier coté serveur est généré, le télécharger. Pour cela, lorsque le fichier est généré le serveur prévient le client grâce à un message (avec le service messaging de FDS). Le client sait alors qu'il doit télécharger le fichier, disponible à telle URL. Pour le téléchargement j'utilise l'objet FileReference. Le problème : Tout cela fonctionne très bien sous Firefox, mais pas sous IE ! Si je génère un fichier "toto" disponible à une URL donnée, et que par la suite je change le contenu du fichier "toto", alors, à cause du cache de IE, lorsque je téléchargerais le fichier j'aurais le contenu de l'ancienne version du fichier. Les solutions : Pour le moment j'ai une solution temporaire ou je génère un nom de fichier différents à chaque fois, ainsi il n'y a pas encore de cache, mais cette solution ne tient pas la route (je ne rentrerais pas plus dans les détails). Une autre solution radicale : changer l'option de IE et lui interdire de mettre en cache. Cette solution ne me convient pas non plus car l'utilisateur ne devrait pas avoir à changer les options de son navigateur. LA SOLUTION : ajouter des options dans le header de la requête HTTP pour lui spécifier de ne pas mettre en cache. Seulement je n'y arrive pas, voici le code qui, en théorie, devrait fonctionner : <code> var header1:URLRequestHeader = new URLRequestHeader("CacheControl", "no-cache"); var header2:URLRequestHeader = new URLRequestHeader("Pragma", "no-cache"); var header3:URLRequestHeader = new URLRequestHeader("Expires", "-1"); request = new URLRequest(url); // url est l'adresse complète du fichier request.requestHeaders.push(header1); request.requestHeaders.push(header2); request.requestHeaders.push(header3); file = new FileReference(); file.download(request); </code> Seulement, lorsque j'analyse les paquets HTTP je ne vois pas mes headers ajoutés... Quelqu'un a t-il déja eut se genre de problèmes ? Je suis ouvert à tout type de solutions Merci beaucoup pour votre aide |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 4 ![]() |
La réponse est simple : il faut mettre les options de cache dans la réponse de la requête... J'ai donc fait une servlet et cela foncitonne bien.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com