Ma question est tres simple ;-) :
Quand je fait un window.open("fichier.pdf" ) en javascript, ie m'ouvre directement le pdf alors que j'aimerais qu'il m'ouvre la boite de dialogue pour enregistrer le dit fichier.
Comment dois-je faire ???
Merci
Publicité
Posté le 12-12-2006 à 15:33:59
brisssou
8-/
Posté le 12-12-2006 à 15:44:04
configure ton navigateur
twingocerise
Posté le 12-12-2006 à 15:47:57
... mauvais réponse... on ne peut pas configurer tous les navigateurs de la planete !!! il faut certainement lui donner le type mime download (je ne sais plus exactement libellé... ça doit être dans ton cas application-pdf/download regarde dans google)
twingocerise
Posté le 12-12-2006 à 15:49:47
pour mettre le type il faut configurer les headers HTTP... en java c'est archi simple -> response.setType (un truc du genre) mais ça t'oblige à faire un aller retour serveur et à poser dans ton fichier en "response"... si tu fais du java j'ai une action struts toute prete pour faire ça...
bob_eponge
Posté le 12-12-2006 à 15:50:05
je vais pas me déplacer chez toutes les personnes qui vont accéder a mon site qd meme ;-)
bob_eponge
Posté le 12-12-2006 à 15:52:10
ok merci mais puis-je le faire directement en javascript?
un de tes utilisateur peut décider que les fichiers PDF qui arrivent partent directement dans Acrobat Reader, et tu n'y pourras rien. Donc effectivement, ça ouvre acrobat, mais il y a une belle icône, appelée enregistrer une copie.
bob_eponge
Posté le 12-12-2006 à 16:04:12
j'ai pris l'exemple avec un pdf mais en fait j'aimerais que ca télécharge tous les types de fichiers (pdf,word,excel...)
ok merci mais puis-je le faire directement en javascript?
pouet. Faut faire ça côté serveur obligatoirement, c'est logique
twingocerise
Posté le 12-12-2006 à 16:09:27
..... ça existe c'est faisable je l'ai fait dans mon projet.... par contre ce que je te conseille de faire c'est d'executer un bon de code dans ta fenetre que tu ouvres genre window.open("launchDownload.php?file=monFichier" );
Dans ton launchDownload.php tu pourras configurer les headers facilement (fonction header je crois...) puis envoyer ton fichier.
Si t'es dans un autre language c'est facile aussi à faire... par contre si t'es en pur javascript... (ce dont je doute mais on ne sais jamais) la je sais pas faire... peut être une option dans le window open...
petite remarque, ton window open il ne te servira peut etre plus dans ce cas... vu que la fenetre ie/ff s'ouvrira toute seule... tu pourras peut etre te contenter d'un lien a dans ta page... non ?
Publicité
Posté le 12-12-2006 à 16:09:27
bob_eponge
Posté le 12-12-2006 à 16:15:05
le lien dans la page produit exactement le meme resultat :-(
en tout cas tu resoudra ton problème en configurant les headers http qui ramène ton fichier... essaye de voir si on peut mettre dans l'URL le type de retour -> j'en doute mais bon...
sinon google !