Zipper des fichiers
Résolu/Fermé
Toinou87
Messages postés
28
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
8 août 2010
-
9 juil. 2009 à 14:07
Toinou87 Messages postés 28 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 8 août 2010 - 9 juil. 2009 à 15:39
Toinou87 Messages postés 28 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 8 août 2010 - 9 juil. 2009 à 15:39
A voir également:
- Zipper des fichiers
- Wetransfer gratuit fichiers lourd - Guide
- Comment zipper un pdf - Guide
- Renommer plusieurs fichiers - Guide
- Explorateur de fichiers - Guide
- Fichiers bin - Guide
6 réponses
duff01
Messages postés
438
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
25 décembre 2010
71
9 juil. 2009 à 14:09
9 juil. 2009 à 14:09
Si ton fichier est corrompu, tu ne peu pas le "récupérer" à moins de le retélécharger.
Toinou87
Messages postés
28
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
8 août 2010
9 juil. 2009 à 14:14
9 juil. 2009 à 14:14
c'est le fichier telecharger qui est corrompu. le Zip.
J'ai tester, les fichiers recuperer du serveurs (pas zippés) fonctionnent tres bien
J'ai tester, les fichiers recuperer du serveurs (pas zippés) fonctionnent tres bien
duff01
Messages postés
438
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
25 décembre 2010
71
9 juil. 2009 à 14:25
9 juil. 2009 à 14:25
Et bien retélécharge se fichier, vu qu'il est corrompu, il est donc inutilisable. :)
Toinou87
Messages postés
28
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
8 août 2010
9 juil. 2009 à 14:35
9 juil. 2009 à 14:35
tu comprends pas le code je crois.
Le fichier zip est generer en live avec les fichiers recuperer sur le serveur (tjs en live) puis envoyer sur la reponse. Et soit mon code genere mal le zip, soit il l'envoie mal sur la reponse.
Le fichier zip est generer en live avec les fichiers recuperer sur le serveur (tjs en live) puis envoyer sur la reponse. Et soit mon code genere mal le zip, soit il l'envoie mal sur la reponse.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Toinou87
Messages postés
28
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
8 août 2010
9 juil. 2009 à 14:50
9 juil. 2009 à 14:50
Precision:
je viens d'ouvrir le zip generer avec notepad, c'est l'envoie sur la sortie qui plante.
Le toString() n'envoie pas les données mais le type de l'objet.
Donc le fichier generer est un fichier texte avec BufferedInputStream.
Le probleme est donc:
passer les données de out ou buff à op
je viens d'ouvrir le zip generer avec notepad, c'est l'envoie sur la sortie qui plante.
Le toString() n'envoie pas les données mais le type de l'objet.
Donc le fichier generer est un fichier texte avec BufferedInputStream.
Le probleme est donc:
passer les données de out ou buff à op
Toinou87
Messages postés
28
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
8 août 2010
9 juil. 2009 à 15:39
9 juil. 2009 à 15:39
trouvé, j'utilise comme constructeur du buffered output stream le servlet output stream et ca marche (bon j'avais trouvé ca y a 30 min mais les fichiers du serveurs etaient perimés et ca me renvoyait des fichier vides).
Il reste peut etre des artefacts d'erreurs.
[code]
List<String> filenames = down.getFilenames();
List<String> urls = down.getUrls();
byte data[] = new byte[1024];
try {
HttpClient client = new HttpClient();
// set default retry handler
client.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
BufferedInputStream buffi=null;
// Create the ZIP file
String outFilename = "outfile.zip";
response.setContentType( "application/zip" );
response.setHeader( "Content-Disposition", "attachment; filename=\""+outFilename+"\"" );
BufferedOutputStream buff = new BufferedOutputStream(response.getOutputStream());
ZipOutputStream out = new ZipOutputStream(buff);
out.setMethod(ZipOutputStream.DEFLATED);
out.setLevel(9);
// Compress the files
for (int i=0; i<filenames.size(); i++) {
//make an HTTP GET
HttpMethod method = new GetMethod(urls.get(i));
client.executeMethod(method);
InputStream is = method.getResponseBodyAsStream();
buffi=new BufferedInputStream(is,1024);
ZipEntry ze=new ZipEntry(filenames.get(i));
// Add ZIP entry to output stream.
out.putNextEntry(ze);
int count;
while((count = buffi.read(data, 0, 1024)) != -1) {
out.write(data, 0, count);
System.out.println(count);
}
// Complete the entry
out.closeEntry();
buffi.close();
}
out.finish();
out.close();
out.flush();
/code
Il reste peut etre des artefacts d'erreurs.
[code]
List<String> filenames = down.getFilenames();
List<String> urls = down.getUrls();
byte data[] = new byte[1024];
try {
HttpClient client = new HttpClient();
// set default retry handler
client.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
BufferedInputStream buffi=null;
// Create the ZIP file
String outFilename = "outfile.zip";
response.setContentType( "application/zip" );
response.setHeader( "Content-Disposition", "attachment; filename=\""+outFilename+"\"" );
BufferedOutputStream buff = new BufferedOutputStream(response.getOutputStream());
ZipOutputStream out = new ZipOutputStream(buff);
out.setMethod(ZipOutputStream.DEFLATED);
out.setLevel(9);
// Compress the files
for (int i=0; i<filenames.size(); i++) {
//make an HTTP GET
HttpMethod method = new GetMethod(urls.get(i));
client.executeMethod(method);
InputStream is = method.getResponseBodyAsStream();
buffi=new BufferedInputStream(is,1024);
ZipEntry ze=new ZipEntry(filenames.get(i));
// Add ZIP entry to output stream.
out.putNextEntry(ze);
int count;
while((count = buffi.read(data, 0, 1024)) != -1) {
out.write(data, 0, count);
System.out.println(count);
}
// Complete the entry
out.closeEntry();
buffi.close();
}
out.finish();
out.close();
out.flush();
/code