如何使用Ruby on Rails创建zip存档?

mar*_*cgg 13 ruby unix zip ruby-on-rails

我在目录中有一堆文件.我想将它们中的一些压缩成zip存档.

我可以看到有各种 溶胶utions这样做.我可以使用像rubyzip这样的gem 或运行exec,只需使用命令行工具.

这将影响我正在研究的系统的一个重要部分,所以我希望得到一些关于使用Rails创建zip文件的反馈和/或指示.

khe*_*lll 13

rubyzip是个不错的选择.我曾经使用它在我以前工作的社交应用程序中的私人消息中压缩附件.但是,如果您正在压缩的文件大小很大,那么建议您使用delayed_job进行一些后台处理.

  • Rubyzip是一个不错的选择; 如果那时您需要扩展代码以解压缩存档的内容,您可以轻松添加它,并且您不会依赖任何外部程序.一般来说(即使可能不是你的情况),使用宝石是更好的解决方案,IMO. (4认同)

nas*_*nas 5

如果你只是压缩文件而没有做任何其他事情,那么我建议使用exec或system或%x来进行压缩,因为为这样一个小任务安装和使用gem没有多大意义.

但是,如果你想做的不仅仅是压缩一些目录并利用gem提供的其他功能,那么显而易见的选择就是使用rubyzip gem.

  • 为什么使用宝石只是拉链是不好的?你能详细说说吗? (3认同)
  • 你只需要添加一个不必要的抽象层.Exec直接调用系统命令,加载gem会有没有充分理由的内存开销.如果您打算使用gem的其他功能,请务必使用它. (3认同)