ReBonjour,
J'arrive doucement à saisir toute l'étendue des servlets JSP. Toutefois je suis confronté à un problème que je ne vois pas bien comment résoudre. Je dois, suite à une requete user, envoyer 2 fichiers à l'user. Je me suis donc servi de l'exemple de la FAQ pour faire une fonction qui envoie une reponse :
Je ne suis pas sur de bien Comprendre cet exemple. Est ce normal qu'on sorte systematiquement avec une exception? J'ai bien une fenetre qui s'ouvre pour me dire d'enregistrer un fichier mais je sors de la servlet via une exception.
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 public void sendResponse(String filename, HttpServletResponse resp, BaseChemin chemin) throws IOException { resp.setContentType("application/download"); resp.setHeader("Content-Disposition", "attachment;filename=\"" + filename + "\""); ServletOutputStream out = resp.getOutputStream(); File file = null; BufferedInputStream from = null; try { file = new File(chemin.getNomRelatif()); resp.setContentLength((int) file.length()); int bufferSize = 64 * 1024; try { from = new BufferedInputStream(new FileInputStream(file), bufferSize * 2); byte[] bufferFile = new byte[bufferSize]; for (int i = 0; ; i++) { int len = from.read(bufferFile); if (len < 0) break; out.write(bufferFile, 0, len); } out.flush(); } finally { try { from.close(); } catch (Exception e) { } try { out.close(); } catch (Exception e) {} } if (file != null) file.delete(); } catch (Exception e) { return; } finally { try { file.delete(); } catch (Exception ex) {} } }
Du coup comment modifier ce code pour pouvoir l'utiliser 2 fois de suite?
Merci d'avance![]()
Partager