créer un fichier zip et le télécharger - Java - Programmation
Marsh Posté le 25-03-2014 à 17:31:20
J'imagine que ta méthode zipIt est lancée par une servlet.
Ton ZipOutputStream écrit dans un fichier donc il faut que ta servlet lise ce fichier et écrive les données dans la réponse.
Une autre façon de faire, serait de mettre l'OutputStream de la response en parametre de la méthode zipIt et d'écrire directement dedans (en plus ça évite de créer un fichier intermédiaire inutile)
Marsh Posté le 26-03-2014 à 11:18:44
@bidem
oui justement, il faut lire ce fichier et écrire ensuite les données dans la réponse et c'est là que je trouve le problème
je trouve pas une fonction pour écrire dans la fichier telle la fonction write() qui prend en paramètre un objet de type OutputStream !!
et je peux pas non plus passer en paramètre un objet de type OutputStream car je suis entrain de zipper un répertoire et j'utilise des fonctions de la classe ZipOutputStream qui ne seront donc pas accessible depuis ce paramètre !!
Marsh Posté le 26-03-2014 à 12:12:05
Récupération de l'OutputStream (response est le paramètre HttpServletResponse de ta méthode doGet) :
Code :
|
Dans zipIt, tu peux remplacer le FileOutputStream (fos) par out.
Code :
|
NB : j'ai aussi ajouté la fermeture du flux dans le bloc finally
Marsh Posté le 26-03-2014 à 13:02:03
je te remercie bidem !
par contre je pense que tu as oublié d'enlever "zos.close();" qui au dessus (ligne 29)
je teste ça et je te redis
Marsh Posté le 25-03-2014 à 10:28:54
Bonjour,
J'ai créé un bouton qui permet de créer un fichier zip., La fonction qui compresse le fichier fonctionne correctement ( quand je la test en console), mais quand je l'appelle via le bouton (dans le fichier JS), il se bloque et il donne une page blanche (je crois que je ne gère pas le flux de sortie) auriez vous une idée svp ?
Merci d'avance.
voici le code:
Message édité par Sbarney le 25-03-2014 à 10:29:40