bonjour à tous,
voici mon problème:
dans ma fonction je créer un fichier avec l'extension csv et je l'enregistre dans mon système de fichier comme suite :
quand j'appel cette fonction depuis mon navigateur en appuyant sur un bouton cela me telecharge directement le fichier et l'affiche dans mon navigateur.
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
53
54
55
56
57
58
59
60 public void genererFichier()throws ServletException, IOException { try { FacesContext context = FacesContext.getCurrentInstance(); HttpServletRequest request = (HttpServletRequest)context.getExternalContext().getRequest(); //Need the base URL for the webapp, so String location = request.getRequestURL().toString(); //if your webapp name is bob location = location.substring(0, location.indexOf("/PreparV3")); //build your filename //on prend la date systeme pour presque permettre l'unicité du fichier Date maDateAvecFormat = new Date(); SimpleDateFormat dateLongue = new SimpleDateFormat("yyyyMMddHHmmss"); filename = "Export"+File.separator+"Temp"+File.separator+dateLongue.format(maDateAvecFormat)+"_releveExport.csv"; //Get the real path to the webapp String realPath = ((ServletContext)context.getExternalContext().getContext()).getRealPath("/"); System.out.println("chemin "+realPath); fichierReleve = realPath + filename; //Création du fichier java.io.File fichier = new java.io.File(fichierReleve); FileWriter fichierW = new FileWriter(fichier); fichierW.write("testtest, erfefef, fefefef,fefefe ,fefef, fefef,fefe"); fichierW.close(); // write, close and redirect context.getExternalContext().redirect(location +"/PreparV3/"+ filename); } catch (FileNotFoundException e) { System.err.println("File not found exception"); e.printStackTrace(); } catch (IOException e) { System.err.println("**********IOexception********"); e.printStackTrace(); } catch (Exception e) { System.err.println("******exception*******"); e.printStackTrace(); } }
par contre quand je change l'extension .csv en .xls le comportement et différent : quand je click su le bouton j'ai une fenetre telecharger qui me propose soit d'ouvrir ou d'enregistrer le fichier excel comme quand on telecharge un lociciel ou une image sur le net.
je voudrais avoir la même fenêtre pour mon fichier .csv .
voila je vous remercie d'avance pour vos réponses et n'hésiter pas a me poser des question si ce n'est pas claire.
est ce que cela est du a l'os ou faut il indiquer cela dans la fonction?
j'ai aussi remarquer que sous firefox cela marche tres bien avec .csv mais pas sous ie
Partager