Bonjour,
J'aurais besoin de vos lumières car malgré des recherches poussées, je ne trouve pas de solution à mon problème.
Je cherche à transmettre un fichier giz (.txt.gz) par une jsp.
Voilà ce que j'ai déjà essayé (j'ai supprimé tout le code qui n'a rien a voir avec le problème) :
Dans ce code, j'essaie de faire la transmission mais elle ne fonctionne pas alors que mon test de copie en local fonctionne parfaitement. Je dis qu'elle ne fonctionne pas car le fichier test.txt.gz que je télécharge est plus gros que binOutFile.txt.gz et il n'est pas reconnu comme fichier gz. J'en déduis donc que la lecture est bonne et que le problème se situe au niveau de bout.toString() mais je ne vois pas comment faire autrement.
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 response.setContentType("application/binary"); response.setHeader("Content-Disposition","inline; filename=test.txt.gz;"); // Sortie ByteArrayOutputStream bout = new ByteArrayOutputStream(); // Fichier binaire un .txt.gz InputStream in = connection.getInputStream(); // Traitement FileOutputStream outFile = new FileOutputStream(new File("C:\\binOutFile.txt.gz")); byte buffer[] = new byte[4096]; int read = 0; do { // Lecture du flux dentrée read = in.read(buffer); if(read != -1) { bout.write(buffer, 0, read); // Ecriture locale pour le test outFile.write(buffer, 0, read); } } while(read != -1); // Fermeture de mon fichier test outFile.close(); // Envoi du résultat de la lecture. out.print(bout.toString());
Quelqu'un pourrait-il m'aider ???
D'avance merci![]()
Partager