Как создать zip-архив с помощью Ruby on Rails?
У меня есть куча файлов в каталоге. Я хочу заархивировать некоторые из них в архив zip.
Я вижу, что есть различные sol для. Я мог бы использовать драгоценный камень, такой как rubyzip или запустить exec
и просто использовать инструмент командной строки.
Это повлияет на важную часть системы, над которой я работаю, поэтому я хотел бы получить некоторые отзывы и/или указания по созданию zip файлов с Rails.
Ответы
Ответ 1
rubyzip - хороший выбор. Я использовал его для zip-прикреплений в частных сообщениях в социальном приложении, над которым я работал раньше. Однако, если файлы, которые вы зажимаете, имеют большие размеры, вам рекомендуется выполнить некоторую фоновую обработку с помощью delayed_job, например.
Ответ 2
Если вы только застегиваете файлы и ничего не делаете, я бы предложил использовать exec или system или% x, чтобы сделать zip, потому что установка и использование драгоценного камня для такой незначительной задачи не имеет большого смысла.
Однако, если вы хотите сделать больше, чем просто заархивировать какой-то каталог и использовать другие функции, которые предлагает драгоценный камень, то очевидным выбором было бы использовать драгоценный камень rubyzip.
Ответ 3
Если gzip является опцией, я рекомендую Gzip, встроенный в ActiveSupport