Подкаталоги в Zip-файле с использованием ZipOutputStream - PullRequest
5 голосов
/ 06 декабря 2011

Я создаю zip-файл, используя методику, описанную здесь:

http://info.michael -simons.eu / 2008/01/21 / using-rubyzip-to-create-zip-files-на лету /

Клиент попросил включить в этот zip-файл подкаталоги.Я искал документацию ZipOutputStream, но не вижу способа включить каталоги.Есть ли способ, которым я могу сделать это с ZipOutputStream?Должен ли я использовать класс, отличный от ZipOutputStream?

Кроме того, файлы, которые я архивирую, не находятся в локальной файловой системе, а хранятся в облачной службе.

1 Ответ

7 голосов
/ 06 декабря 2011

Разобрался с ответом, подумал, что поставлю его здесь, чтобы поисковые системы могли его найти.

В любом случае, ссылка, которую я разместил, использовалась

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

для добавления файлов в zip-файл. Оказывается, что строковый параметр - это не просто имя файла, это может быть и путь! Таким образом, используя

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

Заставит ваш zip-файл содержать папку с именем some-random-folder с файлом some-funny-name.jpg.

...