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

JSF Java Discussion :

Télécharger un fichier CSV depuis le serveur


Sujet :

JSF 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 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 90
    Par défaut Télécharger un fichier CSV depuis le serveur
    Bonjour,

    Dans mon application, j'aimerais pouvoir, en cliquant sur un lien, télécharger un fichier qui se trouve sur mon serveur. Le problème est qu'il m'ouvre le fichier dans mon browser alors que j'aimerais avoir un popup avec la botie de dialogue me proposant de le sauver ou de l'ouvrir.

    Voici mon code actuel
    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
     
    	public void downloadFile(ActionEvent event){
     
    		File file = new File(fileName);
    		ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext() ;
    		ServletContext context = (ServletContext) externalContext.getContext();
    		HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();
    		response.setContentType("application/csv");
    		String downloadFile = fileName ;
    		response.addHeader("Content-Disposition", "attachment; filename=\"" + downloadFile + "\"");
    		byte[] buf = new byte[1024];
    		try{
    		  long length = file.length();
    		  BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
    		  ServletOutputStream out = response.getOutputStream();
    		  response.setContentLength((int)length);
    		  while ((in != null) && ((length = in.read(buf)) != -1)) {
    		    out.write(buf, 0, (int)length);
    		  }
    		  in.close();
    		  out.flush();
    		  out.close();
    		  FacesContext.getCurrentInstance().responseComplete();
    		}catch (Exception exc){
    		  exc.printStackTrace();
    		} 
     
    	}

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    et si tu fais..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    response.setContentType("application/octet-stream");

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 90
    Par défaut
    Ca ne change rien

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par Jexou Voir le message
    Ca ne change rien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    response.setHeader("Content-Disposition", "attachment; filename=" + filename + "");

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 90
    Par défaut
    Tjrs la même chose, le fichier s'affiche dans le browser ><

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    ahh ok, peut tu alors montrer le code d'appel??
    tu utilise Richfaces?

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

Discussions similaires

  1. Télécharger fichier CSV depuis un flux
    Par adriclad dans le forum JSF
    Réponses: 5
    Dernier message: 07/10/2009, 09h16
  2. [CSV] Créer un fichier CSV sur le serveur
    Par sam01 dans le forum Langage
    Réponses: 3
    Dernier message: 10/08/2007, 15h10
  3. [CSV] Créer un fichier csv depuis php
    Par jbidou88 dans le forum Langage
    Réponses: 5
    Dernier message: 07/05/2007, 17h41
  4. Télécharger un fichier CSV (problème de version)
    Par SPOUTNIK007 dans le forum ASP
    Réponses: 1
    Dernier message: 20/10/2006, 12h16
  5. Télécharger un fichier Zip depuis une adresse internet
    Par jmjmjm dans le forum Web & réseau
    Réponses: 8
    Dernier message: 18/10/2005, 19h12

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