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 :

bouton pour telecharger


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 76
    Par défaut bouton pour telecharger
    bonjour,

    je voudrai faire un bouton qui permette a l'utilisateur de télécharger un fichier nommé truc.txt, mais comment faire ?!? si vous avez une idée...

    merci d'avance

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:commandButton action="#{bean.download}"/>
    --Bean.java
    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
     
     
    public void dowload(){
     
    FacesContext context = FacesContext.getCurrentInstance();
    HttpServletResponse response = (HttpServletResponse)  context.getExternalContext().getResponse();
    String fileName="nom.txt";
    response.setContentType("application/octet-stream");
    response.setHeader("Content-Disposition", "attachment; filename=" + fileName + "");
     
    OutputStream out;
    try {
    out = response.getOutputStream();
    // ajouter le flux text dans la response
    out.close();
    context.responseComplete();
    } catch (IOException e) {
    e.printStackTrace();
    }

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 76
    Par défaut
    es tu sur de rien n'avoir oublié, j'exécute ton code mais ne se passe rien, mon nom de fichier est C:/xa.txt et il existe bien, et je passe bien dans la méthode, arf, et je ne vois pas quoi modifer...

  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
    le code n'est pas complet..
    il faut lire ton ficher..et passer le flux de données dans la response..

    utilise les classe java.io
    un truc dans le genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     InputStream in = new BufferedInputStream
                    (new FileInputStream("file.txt") );
     
     int ch;
                while ((ch = in.read()) !=-1) {
                    out.print((char)ch);
                }
    une autre solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    response.sendRedirect("http://localhost:8080/files/file.txt");

  5. #5
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Hormis le fait que Sniper37 a oublié un n dans download (du code Java), c'est la méthode à utiliser.
    Tu dis que ça ne marche pas...
    Tu as des erreurs dans les logs ? L'action est-elle bien appelée ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 76
    Par défaut
    l'action est bien appelé, et je n'ai pas d'erreur je vais voir ce qui se passe pas bien et je vous met au jus, et merci encore

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 76
    Par défaut
    pfff, bon je dois pas être bien doué, part le n de download j'ai rien réussi de bien , il faut que je rajoute quoi à ce code si je veux que l'utilisateur ai xaxa.wav,


    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
     
     
    	public void download()
    	{
    		logger.debug("METHODE download");
     
    		FacesContext context = FacesContext.getCurrentInstance();
    		HttpServletResponse response = (HttpServletResponse)  context.getExternalContext().getResponse();
    		String fileName="C:/xaxa.wav";
     
    		response.setContentType("application/octet-stream");
    		response.setHeader("Content-Disposition", "attachment; filename=" + fileName + "");
    		OutputStream out;
     
     
    		try
    		{
    			out = response.getOutputStream();
     
    			out.close();
    			context.responseComplete();
    		}
    		catch (IOException e)
    		{
    			logger.error("erreur dans la méthode dowload de la classe FileBean", e);
    		}
    	}

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

Discussions similaires

  1. bouton pour afficher/cacher une toolbar ??
    Par pi05 dans le forum MFC
    Réponses: 3
    Dernier message: 07/02/2005, 22h05
  2. Lien pour TELECHARGER une image plutôt que pour l'ouvrir
    Par nabab dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/01/2005, 18h07
  3. desactiver bouton pour certains enregistrements
    Par GymTonic dans le forum IHM
    Réponses: 7
    Dernier message: 04/01/2005, 23h46
  4. [JFileChooser] Bouton pour sauvegarder.
    Par Katyucha dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 03/01/2005, 12h02
  5. [FLASH MX2004] Bouton pour lire vidéo
    Par kiki93 dans le forum Flash
    Réponses: 10
    Dernier message: 23/11/2004, 11h50

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