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

Struts 1 Java Discussion :

probleme spécifique IE


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 82
    Par défaut probleme spécifique IE
    Bonjour,
    j'ai travaillé sur une action qui permet de servir des fichiers stockés en BDD à un visiteur du site, elle prend un id en argument.
    Le probleme, c'est que sous IE, cette action ouvre une nouvelle fenetre vide à chaque clic en plus de lancer la box de telechargement. Cela ne se produit pas sous firefox.

    Quelqu'un aurait une piste pour qu'IE n'affiche que la boite de telechargement ?

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
    		String idFichier = request.getParameter("idFichier");	
    		if(idFichier != null){
    			try {
    				TaFichiers taFichiers = TaFichiers.getTaFichiers(Long.parseLong(idFichier));
    				InputStream in = taFichiers.getFichier().getStream();
     
    				// Afin de pouvoir exporter en https avec IE
    				response.setHeader("Pragma", "");
    				response.setHeader("Cache-Control", "");
    				// Mettre un type au fichier renvoyé
     
    				if ("pdf".equals(taFichiers.getTypeFichier().getExtension().toLowerCase())) {
    					response.setContentType("application/pdf");
    				}
    				else if ("csv".equals(taFichiers.getTypeFichier().getExtension().toLowerCase())) {
    					response.setContentType("application/vnd.ms-excel");
    				}
    				else if ("xls".equals(taFichiers.getTypeFichier().getExtension().toLowerCase())) {
    					response.setContentType("application/vnd.ms-excel");
    				}
    				else if ("doc".equals(taFichiers.getTypeFichier().getExtension().toLowerCase())) {
    					response.setContentType("application/msword");
    				}
    				else if ("pps".equals(taFichiers.getTypeFichier().getExtension().toLowerCase())) {
    					response.setContentType("application/vnd.ms-powerpoint");
    				}
    	            response.setHeader("Content-Disposition", "attachment; filename="+taFichiers.getNomFichier());
     
    				OutputStream out = response.getOutputStream();
    				int val = 0;
    				while((val=in.read())!=-1) {
    					out.write(val);
    				}
    				out.flush();
    				out.close();
    				in.close();
    				return null;
     
     
    			} catch (NumberFormatException e) {
    				logger.error("l'id du fichier passé en parametre n'est pas un long : "+idFichier);
    				return mapping.findForward("file.error");
    			} catch (Exception e) {
    				logger.error("probleme interne a la base de donnees, table interrgee : TaFichiers avec l'id "+idFichier);
    				return mapping.findForward("file.error");
    			}
    		}
     
    		return mapping.findForward("file.error");
    	}
    Merci pour vos eclaircissements eventuels.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 82
    Par défaut
    Personne n'a d'idées ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Par défaut
    Bonjour !

    j'ai eu moi aussi à peu près la même chose à faire.

    Et je n'avais pas fait comme ça.

    A la fin de mon action, je faisais un forward vers une jsp.
    Et sur le onload de cette jsp, j'exécutais une fonction javascript qui redirigeait l'utilisateur pour télécharger le fichier.

    Voilà cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function redirect(){
    	var zip = '<%=form.getZipFile()%>';
    	parent.location=zip; 
    }
    form.getZipFile() contenant le nom du fichier que je voulais mettre en téléchargement.

    Si ça peut t'aider....

    voilà !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 82
    Par défaut
    résolu, le probleme venait de la jsp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Shape sur Stringgrid spécifique (probleme de calcul du visible)
    Par BuzzLeclaire dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/03/2010, 14h58
  2. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  3. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  5. [Kylix] Probleme de nombre flottant!!
    Par yopziggy dans le forum EDI
    Réponses: 5
    Dernier message: 02/05/2002, 10h13

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