¿Cómo puedo encontrar una entrada específica dentro de un directorio comprimido utilizando la gema rubyzip?

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

  •  13-09-2019
  •  | 
  •  

Pregunta

Tengo un llamado test.zip archivo zip que contiene un directorio llamado factura. Dentro del directorio de la factura hay documentos, cada uno con diferentes nombres. Me gustaría encontrar un documento llamado summary.txt específica que está dentro del directorio de la factura.

Soy capaz de obtener un identificador para test.zip utilizando la siguiente:

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

pero cuando se utiliza

zip.find_entry("summary.txt")

consigo nula.

Por otro lado, si summary.txt no está dentro del directorio de las facturas, sino más bien en la raíz del archivo zip en sí, el método find_entry como se describió anteriormente parece funcionar.

Parece que de alguna manera debe navegar hacia abajo en el directorio de las facturas antes de buscar summary.txt.

¿Es esto correcto? Si es así, ¿cómo lo hago? Si no, ¿qué estoy haciendo mal.

¿Fue útil?

Solución

Es necesario especificar la ruta completa al archivo:

zip.find_entry 'invoices/summary.txt'
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top