Fin de Répertoire Central enregistrement n'a pas pu être trouvé
Je suis le téléchargement d'un fichier zip à l'aide de c#, et je reçois le message d'erreur
at System.IO.Compression.ZipArchive.ReadEndOfCentralDirectory()
at System.IO.Compression.ZipArchive.Init(Stream stream, ZipArchiveMode mode,
Boolean leaveOpen)
at System.IO.Compression.ZipArchive..ctor(Stream stream, ZipArchiveMode mode,
Boolean leaveOpen, Encoding entryNameEncoding)
at System.IO.Compression.ZipFile.Open(String archiveFileName, ZipArchiveMode
mode, Encoding entryNameEncoding)
at System.IO.Compression.ZipFile.ExtractToDirectory(String sourceArchiveFileN
ame, String destinationDirectoryName, Encoding entryNameEncoding)
at System.IO.Compression.ZipFile.ExtractToDirectory(String sourceArchiveFileN
ame, String destinationDirectoryName)
Voici le programme
response = (HttpWebResponse)request.GetResponse();
Stream ReceiveStream = response.GetResponseStream();
byte[] buffer = new byte[1024];
FileStream outFile = new FileStream(zipFilePath, FileMode.Create);
int bytesRead;
while ((bytesRead = ReceiveStream.Read(buffer, 0, buffer.Length)) != 0)
outFile.Write(buffer, 0, bytesRead);
outFile.Close();
response.Close();
try
{
ZipFile.ExtractToDirectory(zipFilePath, destnDirectoryName);
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
Console.ReadLine();
}
Je ne comprends pas l'erreur. Quelqu'un peut-il expliquer cela
Merci
M.
Pourquoi avez-vous supprimer votre vieille question? vous n'avez même pas à comprendre le fait que vous êtes l'obtention de
Si vous devez ouvrir ce fichier, j'ai trouvé une référence qui peut-être unjarring le fichier de travail.
Cela pourrait être causé par essayer de décompresser un *.gz ou *.Fichier 7z?
System.IO.InvalidDataException
Si vous devez ouvrir ce fichier, j'ai trouvé une référence qui peut-être unjarring le fichier de travail.
jar xvf corrupt.zip
. évidemment, ce n'est pas de votre code, mais j'ai pensé qu'il vaut la peine de mentionner si vous avez besoin pour obtenir les fichiers correct.Cela pourrait être causé par essayer de décompresser un *.gz ou *.Fichier 7z?
OriginalL'auteur user2726975 | 2014-01-06
Vous devez vous connecter pour publier un commentaire.
Le problème est Décompressez ne pouvez pas trouver la ligne de code qui signale la fin de l'archive, soit:
De l'ouverture du fichier avec votre favori zip utilitaire de dire lequel de ces il pourrait l'être.
Vous enregistrez votre fichier dans
zipFilePath
. Juste aller de l'ouvrez et extrayez le fichier.L'hypothèse est que c'est la fin du serveur de choses que de mauvaises. Il ne semble pas être quelque chose de mal avec votre code. Vous pouvez essayer de pointer votre code dans un autre fichier zip et voir si elle peut le télécharger. Je parie qu'il fait.
"L'ouverture du fichier avec votre favori zip utilitaire de dire lequel de ces il pourrait l'être." - pourriez-vous améliorer votre réponse en précisant comment c'est d'aller travailler, s'il vous plaît? Je suis confronté au même message d'erreur, et au moins 7zip et l'Explorateur Windows ouvre le fichier, sans se plaindre.
Tombé sur cette erreur lors de la tentative de compresser/décompresser un fichier caché (nom commençait par "$")
OriginalL'auteur paqogomez
De votre vieille question que vous avez supprimé.
Le plus souvent, quel que soit le fichier que vous transmettez est mal fait et que le Zip est un échec. Puisque vous avez déjà le fichier
outfile
sur le disque dur, je voudrais vous recommandons d'essayer d'ouvrir ce fichier avec windows construit en zip extractor et voir si cela fonctionne. Si elle échoue, le problème n'est pas avec votre décompression code, mais avec les données que le serveur envoie à vous.OriginalL'auteur Scott Chamberlain
J'ai le même problème, mais dans mon cas, le problème est avec la compression de la partie et non à la décompression.
Lors de la compression j'ai besoin d'utiliser la fonction "Aide" statament avec le Flux et le ZipArchive objets trop. "L'Utilisation de" statament va Fermer les archives correctement et je peux le décompresser sans aucun problème.
Le code de travail, dans mon cas, dans VB.Net:
OriginalL'auteur SZL
J'ai rencontré ce même problème. Il existe de nombreux types de compression .zip d'être un seul de ces types. Regarder et assurez-vous que vous n'êtes pas en train de décompresser un .rar ou d'un fichier similaire.
OriginalL'auteur Roger Hill
Je viens de tomber sur ce thread quand j'ai eu le même message d'erreur à partir d'un script PowerShell appelant le Net.WebClient méthode DownloadFile.
Dans mon cas, le problème est que le serveur web a été incapable de fournir la demande de fichier zip, et fourni une page HTML avec un message d'erreur, ce qui ne pouvait évidemment pas être décompressé.
Donc, au lieu de cela, j'ai créé un gestionnaire d'exception pour extraire et de présenter le "vrai" message d'erreur.
OriginalL'auteur paulf
J'ai utilisé SharpCompress C#.net Bibliothèque à disposition via le gestionnaire de Package Nuget, il a résolu mon but de décompression.
OriginalL'auteur Raghu
Pourrait être utile à quelqu'un d'autre. J'ai traité ce problème en ajoutant une exception à mon code, puis:
OriginalL'auteur user3899886