Comment puis-je trouver une entrée spécifique dans un répertoire compressé en utilisant la gemme rubyzip?

StackOverflow https://stackoverflow.com/questions/1850741

  •  13-09-2019
  •  | 
  •  

Question

J'ai un fichier zip nommé test.zip qui contient une facture du nom de répertoire. A l'intérieur du répertoire de la facture il y a des documents chacun avec des noms différents. Je voudrais trouver un document spécifique nommé summary.txt qui se trouve dans le répertoire de la facture.

Je suis en mesure d'obtenir une poignée à test.zip en utilisant les éléments suivants:

zip = Zip::ZipFile.open("/path/to/test.zip")

mais quand je l'utilise

zip.find_entry("summary.txt")

Je reçois nul.

Par contre, si summary.txt est pas dans le répertoire des factures, mais plutôt à la racine du fichier zip lui-même, la méthode find_entry tel que décrit ci-dessus semble fonctionner.

Il semble que je dois en quelque sorte vers le bas dans le naviguer répertoire factures avant de chercher summary.txt.

Est-ce exact? Si oui, comment puis-je le faire? Sinon, ce que je suis, je fais mal.

Était-ce utile?

La solution

Vous devez spécifier le chemin complet du fichier:

zip.find_entry 'invoices/summary.txt'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top