Bonjour à tous,

Je désire envoyer un fichier vers un client, simplement en proposant un lien qui pointe sur une servlet. Le but est d'utiliser un "ServletOutputStream" (voir code plus bas) . J'ai une erreur persistante "java.io.IOException: Insufficient system resources exist to complete the requested service" au niveau de mon serveur web, un Iplanet 4.1 sous windows NT4, et ceci a pour effet de "tronquer" le téléchargement. En effet, un fichier de 1500 Ko, ne fait que +/- 24 Ko une fois téléchargé

Voici ce que l'on peut voir au niveau de l'error log du serveur:

[14/Nov/2006:10:40:37] info ( 788): /servlet/maclasse.class: nom de fichier= f:\websites\monsite\mesfichiers\JT_5829_P_R_3M_Graphic_maker_Vutek_2360_3M_1500_series.zip
[14/Nov/2006:10:40:37] info ( 788): /servlet/maclasse.class: passé le getOutputstream
[14/Nov/2006:10:40:37] info ( 788): /servlet/maclasse.class: availableLength= java.io.FileInputStream@85120a8c
[14/Nov/2006:10:40:37] info ( 788): /servlet/maclasse.class: probleme envoi fichier, erreur= java.io.IOException: Insufficient system resources exist to complete the requested service.

[14/Nov/2006:10:40:37] info ( 788): /servlet/maclasse.class: id_client= 1488
Et voici le code dans la 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
String name = nom_fichier_reel;
                try
                  {
                    ServletOutputStream out2 = res.getOutputStream();
                    log("passé le getOutputstream");
                    res.setHeader("Content-Disposition", "attachment;filename=" + name);
                    FileInputStream in2 = new FileInputStream(fileName);
                    int availableLength = in2.available();
                    log("availableLength= " + in2);
                    byte[] totalBytes = new byte[availableLength];
                    int byteData = in2.read(totalBytes);
                    out2.write(totalBytes);
                    in2.close();
                    out2.flush();
                    out2.close();
 
                  }
 
                catch (IOException ex)
                  {
                    log("probleme envoi fichier, erreur= " + ex);
                  }
 
                res.setContentType("text/html");
                out = new PrintWriter(res.getOutputStream());
Quelqu'un à une idée?

D'avance un grand merci