Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
899 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Proposer un téléchargement/ouverture de fichier depuis 1 web-app

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Proposer un téléchargement/ouverture de fichier depuis 1 web-app

n°377619
El_gringo
Posté le 30-04-2003 à 10:11:02  profilanswer
 

Je n'comprend pas. Avant il me semble que le code suivant fonctionnait. Et là, sous Mozilla 1.3, ça me propose uniquement d'ouvrir le fichier. :-(
 

Code :
  1. private void SetAdaptedContentType (HttpServletResponse _response, JLdsPage _page) {
  2.         // le moteur MIME de la web-app cherche le type MIME du document électronique à afficher
  3.         String strContentType = _page.MIMEType (getServletContext ());
  4.         // SI aucun type MIME trouvé, proposer le téléchargement
  5.         if (strContentType == null) {
  6.             File file               = _page.getPageFile();
  7.             strContentType          = "application/octet-stream";
  8.             String strContentDisp   = "attachment;filename=" + file.getName ();
  9.             _response.setHeader ("Content-Disposition", strContentDisp);
  10.             _response.setContentLength ((int) file.length ());
  11.         }
  12.         m_Logger.debug("Affichage d'un contenu MIME de type : " + strContentType);
  13.         _response.setContentType(strContentType);
  14.     }

 
 
après avoir faire ça, je balance au navigateur le fichier en binaire. Vous voyez ici qqch de pas claire !?


Message édité par El_gringo le 30-04-2003 à 10:11:31
mood
Publicité
Posté le 30-04-2003 à 10:11:02  profilanswer
 

n°377759
Kristoph
Posté le 30-04-2003 à 11:14:02  profilanswer
 

El_gringo a *crit :

Je n'comprend pas. Avant il me semble que le code suivant fonctionnait. Et l*, sous Mozilla 1.3, *a me propose uniquement d'ouvrir le fichier. :-(
 

Code :
  1. private void SetAdaptedContentType (HttpServletResponse _response, JLdsPage _page) {
  2.         // le moteur MIME de la web-app cherche le type MIME du document *lectronique * afficher
  3.         String strContentType = _page.MIMEType (getServletContext ());
  4.         // SI aucun type MIME trouv*, proposer le t*l*chargement
  5.         if (strContentType == null) {
  6.             File file               = _page.getPageFile();
  7.             strContentType          = "application/octet-stream";
  8.             String strContentDisp   = "attachment;filename=" + file.getName ();
  9.             _response.setHeader ("Content-Disposition", strContentDisp);
  10.             _response.setContentLength ((int) file.length ());
  11.         }
  12.         m_Logger.debug("Affichage d'un contenu MIME de type : " + strContentType);
  13.         _response.setContentType(strContentType);
  14.     }

 
 
apr*s avoir faire *a, je balance au navigateur le fichier en binaire. Vous voyez ici qqch de pas claire !?


 
C'est peut-etre parceque la partie qui sert a force le download n'est mise dans les Header que pour les fichiers de type MIME incoonu :)
 

n°377784
El_gringo
Posté le 30-04-2003 à 11:21:41  profilanswer
 

Kristoph a écrit :


 
C'est peut-etre parceque la partie qui sert a force le download n'est mise dans les Header que pour les fichiers de type MIME incoonu :)
 
 


 
Ha, tu dois avoir raison, bien sur.
Le problème, c'est que, pour les fichiers de type connu, si je voudrais :
utiliser l'éventuel plugin dispo sur le navigateur (Acrobat reader, word, ...), et si pas de plugin, proposer de télécharger le fichier. Si je met "attachment" et compagnie dans le header, on ne pourra que downloader; jamais utiliser le plugin du navigateur.

n°377852
Kristoph
Posté le 30-04-2003 à 11:37:47  profilanswer
 

C'est pas le comportement par defaut de tout navigateur qui se respecte ca ???

n°377861
El_gringo
Posté le 30-04-2003 à 11:39:57  profilanswer
 

Kristoph a écrit :

C'est pas le comportement par defaut de tout navigateur qui se respecte ca ???


 
Ben, non. Quand, en écrivant "attachement" (et tt le reste) dans le header, j'pense qu'on précise explicitement au navigateur de proposer le téléchargement du fichier. Donc, même s'il a le plugin qu'il faut, il s'en tape. J'pense...

n°377894
gizmo
Posté le 30-04-2003 à 11:46:50  profilanswer
 

El_gringo a écrit :


 
Ben, non. Quand, en écrivant "attachement" (et tt le reste) dans le header, j'pense qu'on précise explicitement au navigateur de proposer le téléchargement du fichier. Donc, même s'il a le plugin qu'il faut, il s'en tape. J'pense...


 
exact. mais tu n'as pas la possibilité de tester si un utilisateur à les bon plug-in en restant du coté serveur. tu vas devoir faire un choix (éventuellement via JS, mais c'est pas top)

n°377981
Kristoph
Posté le 30-04-2003 à 12:08:27  profilanswer
 

El_gringo a *crit :


 
Ben, non. Quand, en *crivant "attachement" (et tt le reste) dans le header, j'pense qu'on pr*cise explicitement au navigateur de proposer le t*l*chargement du fichier. Donc, m*me s'il a le plugin qu'il faut, il s'en tape. J'pense...


 
Ce que je demandais c'etait de savoir si ce que tu voulais faire n'etait pas le comportement par defaut des navigateurs. En tout cas, c'est ce que j'ai compris.

n°377985
El_gringo
Posté le 30-04-2003 à 12:10:02  profilanswer
 

Kristoph a écrit :


 
Ce que je demandais c'etait de savoir si ce que tu voulais faire n'etait pas le comportement par defaut des navigateurs. En tout cas, c'est ce que j'ai compris.


 
Non, j'veux pas faire la même chose. G expliqué nu peu au dessus ce que j'voulais faire.

n°377993
Kristoph
Posté le 30-04-2003 à 12:16:24  profilanswer
 

El_gringo a *crit :


 
Ha, tu dois avoir raison, bien sur.
Le probl*me, c'est que, pour les fichiers de type connu, si je voudrais :
utiliser l'*ventuel plugin dispo sur le navigateur (Acrobat reader, word, ...), et si pas de plugin, proposer de t*l*charger le fichier. Si je met "attachment" et compagnie dans le header, on ne pourra que downloader; jamais utiliser le plugin du navigateur.


 
Je dois pas etre en grosse forme moi car pour moi c'est le comportement par defaut de mon navigateur ca ...

n°378201
El_gringo
Posté le 30-04-2003 à 14:10:40  profilanswer
 

Kristoph a écrit :


 
Je dois pas etre en grosse forme moi car pour moi c'est le comportement par defaut de mon navigateur ca ...


 
Ben, Mozilla 1.3, si je lui met pas "attachement" et compagnie dans le header, juste le content type, et que le plugin correspondant au type MIME n'est pas dispo, il me propose l'ouverture du fichier, pas l'enregistrement.

mood
Publicité
Posté le 30-04-2003 à 14:10:40  profilanswer
 

n°378212
Kristoph
Posté le 30-04-2003 à 14:27:06  profilanswer
 

El_gringo a *crit :


 
Ben, Mozilla 1.3, si je lui met pas "attachement" et compagnie dans le header, juste le content type, et que le plugin correspondant au type MIME n'est pas dispo, il me propose l'ouverture du fichier, pas l'enregistrement.


 
Donc, la seule chose que tu veux faire c'est demander a Mozilla de ne pas proposer l'ouverture du fichier quand il ne connais pas l'appli a utiliser ?
 
C'est un comportement decide par l'utilisateur. La question est la pour lui demander quel est l'application associee justement. Il n'y a tres probablement aucun moyen de controler ca en HTML.
 

n°378226
El_gringo
Posté le 30-04-2003 à 14:44:12  profilanswer
 

Kristoph a écrit :


 
Donc, la seule chose que tu veux faire c'est demander a Mozilla de ne pas proposer l'ouverture du fichier quand il ne connais pas l'appli a utiliser ?
 
C'est un comportement decide par l'utilisateur. La question est la pour lui demander quel est l'application associee justement. Il n'y a tres probablement aucun moyen de controler ca en HTML.


 
Non, ce que j'aurait voulu faire (dans le cas ou pas de plugin associé au type MIME des données), c'est que Mozilla (ou autre) propose l'ouverture OU l'enregistrement (téléchargement) du fichier à visualiser.

n°378349
Kristoph
Posté le 30-04-2003 à 15:25:52  profilanswer
 

El_gringo a *crit :


 
Non, ce que j'aurait voulu faire (dans le cas ou pas de plugin associ* au type MIME des donn*es), c'est que Mozilla (ou autre) propose l'ouverture OU l'enregistrement (t*l*chargement) du fichier * visualiser.


 
C'est la ou c'est bizarre, car c'est exactement le comportement de Mozilla chez moi. :)

n°378359
El_gringo
Posté le 30-04-2003 à 15:27:25  profilanswer
 

Kristoph a écrit :


 
C'est la ou c'est bizarre, car c'est exactement le comportement de Mozilla chez moi. :)


 
Ha bon !? Et si tu fais "enregistrer", il te propose quoi comme nom de fichier ?

n°378418
Kristoph
Posté le 30-04-2003 à 15:38:14  profilanswer
 

El_gringo a *crit :


 
Ha bon !? Et si tu fais "enregistrer", il te propose quoi comme nom de fichier ?


 
Si c'est le nom de fichier qui pose probleme, il faut quand meme ajouter ca je pense :

Code :
  1. String strContentDisp   = "attachment;filename=" + file.getName ();
  2. _response.setHeader ("Content-Disposition", strContentDisp);


 
Mais en enlevant la partie "attachement". Je pense que ca devrait resoudre le probleme.
 
Moi, je fesais les tests sans passer par php/jsp avec directement des fichiers au type mime inconnu.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Proposer un téléchargement/ouverture de fichier depuis 1 web-app

 

Sujets relatifs
Compter les mot d'un fichier text en C[HTML/PHP] Enregistrer plutôt qu'Ouvrir un fichier dans un lien
afficher le texte d'1 fichier txt dans une page htm sans php possible?Sous Visual C++ 6.0, créer un bouton Parcourir (fichier)
[C] copier un fichier de données formatées via une fonction externe...un fichier .3ds peut-il contenir des coordonnées de texture ?
dans un fichier .ase, par quoi sont désigné les coordonnée de texture?[C] Lire un fichier texte
Mauvais affichage du fichierLecture dans un fichier : ligne par ligne
Plus de sujets relatifs à : Proposer un téléchargement/ouverture de fichier depuis 1 web-app


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR