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
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
--Bean.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part <h:commandButton action="#{bean.download}"/>
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(); }
Articles: Richfaces - JBosstools pour JSF.
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...![]()
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:
une autre solution
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); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part response.sendRedirect("http://localhost:8080/files/file.txt");
Articles: Richfaces - JBosstools pour JSF.
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
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
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); } }
Partager