Bonjour, je travaille sur une appli qui utilise Struts, jsp, j2ee et d'autres langages, je ne savais pas trop dans quelle section poster, je m'excuse d'avance si ce n'est pas la bonne.
Dans cette appli, je peux être amené à cliquer sur un lien qui est censé m'ouvrir le contenu d'un fichier texte qui a préalablement été rentré dans la base de données.
Sous firefox, tout se passe bien, quand je clique une fenetre me demande soit d'ouvrir et me donne le choix du programme, soit d'enregistrer. Actuellement, c'est le notepad qui est utilisé.
Sous IE, j'ai également une fenêtre qui se lance mais je n'ai pas le choix du programme, le contenu s'affiche dans la même page web.
On me demande donc d'avoir le même comportement avec les deux navigateurs.
Je vous passe le code jsp et ne vous met que le code java :
Je voudrais donc savoir si il était possible de détecter que l'utilisateur appuie sur le bouton ouvrir, et si oui comment faire pour dire d'utiliser le notepad et également comment détecter quel navigateur possède l'utilisateur.
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 else if (action.equalsIgnoreCase("telechargerfichier")) { String idDocumentParam = request.getParameter("_iddocument"); try { if (idDocumentParam == null || idDocumentParam.equals("")) throw new Exception("ID fichier attaché non valide"); int idDocument = Integer.parseInt(idDocumentParam); FichierAttacheDAO faDAO = (FichierAttacheDAO) sessionBean .getDataAccess().getDAO("FichierAttache"); FichierAttacheVO faVO = faDAO.getFichierAttacheVO(idDocument); response.setHeader("Content-type", faVO.getContentType()); response .setHeader("Content-Disposition", "attachment; filename=\"" + faVO.getNomFichier() + "\""); OutputStream os = response.getOutputStream(); os.write(faVO.getContenu()); os.close(); return null; } catch (NumberFormatException e) { erreur = true; ae.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "fob.erreur.fichier.telecharger")); } catch (Exception e) { erreur = true; ae.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "fob.erreur.fichier.telecharger")); } }
Cordialement,
Nalmo.
Partager