J'ai un tas de fichiers ZIP qui sont dans le besoin désespéré d'une réorganisation hiérarchique et d'extraction. Ce que je peux faire, actuellement, c'est de créer la structure de répertoire et de déplacer les fichiers zip à l'emplacement approprié. La mystique de fromage que je suis en manque, c'est la partie qui extrait les fichiers de l'archive ZIP.
J'ai vu les articles MSDN sur l' ZipArchive
de la classe et de les comprendre raisonnable. J'ai également vu le VBScript façons d'extraire. Ce n'est pas un complexe de classe, pour l'extraction de truc devrait être assez simple. En fait, il fonctionne "la plupart". J'ai inclus dans mon code ci-dessous pour référence.
using (ZipPackage package = (ZipPackage)Package.Open(@"..\..\test.zip", FileMode.Open, FileAccess.Read))
{
PackagePartCollection packageParts = package.GetParts();
foreach (PackageRelationship relation in packageParts)
{
//Do Stuff but never gets here since packageParts is empty.
}
}
Le problème semble être quelque part en GetParts
(ou s'*Rien* d'ailleurs). Il semble que le colis, tout est vide. Creuser plus profondément le débogueur montre que le membre privé _zipArchive montre qu'il a effectivement pièces. Pièces avec le droit des noms et tout et tout. Pourquoi ne pas l' GetParts
fonction de les récupérer? Je'ver tenté le casting de l'ouvrir à un ZipArchive et qui n'a pas aidé. Grrr.