Difficultés de transmission d'un fichier gz
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) :
Code:
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()); |
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.
Quelqu'un pourrait-il m'aider ???
D'avance merci ;)