Bonjour j'essaie de telecharger un document via une servlet, j'ai pris un code trouvé sur ce site mais cela ne fonctionne pas :
Ma servlet :
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
   @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        if(request.getParameter("idMessage")!=null) {
            Membre membre=new Membre();
            membre.testConnecte(request);
            long idMembre=membre.getId();
            if(idMembre!=0) {
                long idMessage=Long.parseLong(request.getParameter("idMessage"));
                Document document=new Document();
                document.initDL(idMessage, idMembre);
                if(document.getIdMessage()!=0) {
                    String filename=Datas.DIR+"documents/"+document.getIdMessage()+document.getExtension();
                    File file=new File(filename);
                    if(file.exists()) {
                        try {
                            String filenameDL="doc-"+document.getIdMessage()+document.getExtension();
                            ServletOutputStream out = response.getOutputStream();
                            BufferedInputStream from = null;
                            response.setContentLength((int) file.length());
                            int bufferSize = 64 * 1024;
                            from = new BufferedInputStream(new FileInputStream(file), bufferSize * 2);
                            byte[] bufferFile = new byte[bufferSize];
                            response.setContentType("application/download");
                            response.setHeader("Content-Disposition", "attachment;filename=\"" + filenameDL + "\"");
                            for (int i = 0; ; i++) {
                                int len = from.read(bufferFile);
                                    if (len < 0)
                                        break;
                                out.write(bufferFile, 0, len);
                            }
                            out.flush();
                            from.close();
                            out.close();
                        } catch(Exception e) {
                            response.setContentType("text/html;charset=UTF-8");
                            PrintWriter out = response.getWriter();
                            out.println("Erreur :"+e.getMessage());
                        }
                    } else {
                        response.setContentType("text/html;charset=UTF-8");
                        PrintWriter out = response.getWriter();
                        out.println("Erreur : fichier inconnu!");
                    }
                }
            } else {
                    response.setContentType("text/html;charset=UTF-8");
                    PrintWriter out = response.getWriter();
                    out.println("Erreur : document inconnu!");
            }
        } else {
                response.setContentType("text/html;charset=UTF-8");
                PrintWriter out = response.getWriter();
                out.println("Erreur !");
        }
    }
par exemple pour un fichier pdf on me propose de le visionner mais le visionneur donne une erreur et la taille du pdf fait 0 octet.
Je ne vois pas d'où provient mon erreur.
Merci de votre aide.