Как создать zip-архив с использованием Ruby on Rails? - PullRequest
13 голосов
/ 17 декабря 2009

У меня есть куча файлов в каталоге. Я хочу сжать некоторые из них в zip-архив.

Я вижу, что для этого есть различные sol ntions . Я мог бы использовать гем, такой как rubyzip или запустить exec и просто использовать инструмент командной строки.

Это повлияет на важную часть системы, над которой я работаю, поэтому я хотел бы получить отзывы и / или указания по созданию zip-файлов с помощью Rails.

Ответы [ 3 ]

13 голосов
/ 17 декабря 2009

rubyzip - хороший выбор. Я использовал его для архивирования вложений в личных сообщениях в социальном приложении, над которым я работал раньше. Однако, если файлы, которые вы архивируете, имеют большие размеры, вам рекомендуется выполнить некоторую фоновую обработку, например, используя delayed_job .

5 голосов
/ 17 декабря 2009

Если вы только архивируете файлы и больше ничего не делаете, я бы посоветовал использовать exec или system или% x для архивирования, потому что установка и использование гема для такой незначительной задачи не имеет большого смысла.

Однако, если вы хотите сделать больше, чем просто заархивировать какой-либо каталог и использовать другие функции, которые предлагает самоцвет, тогда очевидным выбором будет использование самоцвета rubyzip.

0 голосов
/ 18 декабря 2009

если опция gzip, я рекомендую Gzip встроенный в ActiveSupport

...