2011-12-06 17 views
5

Estoy creando un archivo zip utilizando la técnica descrita aquí:subdirectorios en el archivo Zip utilizando ZipOutputStream

http://info.michael-simons.eu/2008/01/21/using-rubyzip-to-create-zip-files-on-the-fly/

ha pedido al cliente que incluyen subdirectorios en este archivo zip. He buscado en la documentación de ZipOutputStream pero no veo forma de incluir directorios. ¿Hay alguna manera de que pueda hacer esto con ZipOutputStream? ¿Debo usar una clase diferente a ZipOutputStream?

Además, los archivos que estoy comprimiendo no están en el sistema de archivos local, pero se almacenan en un servicio en la nube.

Respuesta

6

Encontré la respuesta, pensé que la pondría aquí para que los buscadores la encuentren.

De todos modos, el enlace que he publicado usa

zos.put_next_entry("some-funny-name.jpg") 

añadir archivos en el archivo zip. Resulta que ese parámetro de cadena no es solo un nombre de archivo, ¡también puede ser una ruta! Así, utilizando

zos.put_next_entry("some-random-folder/some-funny-name.jpg") 

hará que su archivo zip contiene una carpeta llamada 'some-random-carpeta', con un archivo llamado 'algunos-divertida-name.jpg'.

Cuestiones relacionadas