我在一個目錄中有一堆文件。我想將它們中的一些壓縮成一個zip壓縮文件。如何使用Ruby on Rails創建一個zip存檔?
我可以看到有varioussolutions這樣做。我可以使用諸如rubyzip之類的寶石,或者運行exec
,並使用命令行工具。
這將影響我的工作系統的重要組成部分,所以我很想對使用Rails創建zip文件的一些反饋和/或方向。
我在一個目錄中有一堆文件。我想將它們中的一些壓縮成一個zip壓縮文件。如何使用Ruby on Rails創建一個zip存檔?
我可以看到有varioussolutions這樣做。我可以使用諸如rubyzip之類的寶石,或者運行exec
,並使用命令行工具。
這將影響我的工作系統的重要組成部分,所以我很想對使用Rails創建zip文件的一些反饋和/或方向。
rubyzip是一個不錯的選擇。我曾用它在我以前從事的社交應用程序的私人消息中壓縮附件。但是,如果要壓縮的文件尺寸很大,建議您使用delayed_job做一些後臺處理。
如果只壓縮和解的文件,而不是做其他事情,那麼我會建議使用EXEC或系統或%×做壓縮和解,因爲安裝和使用寶石這樣一個小任務沒有太大的意義。
但是,如果您想要做的不僅僅是壓縮某些目錄並利用其他功能,那麼明顯的選擇是使用rubyzip gem。
如果gzip是一個選項,我建議在ActiveSupport中嵌入Gzip
感謝您的回答。關於rubyzip,它是否保持或至少完全正常工作?並感謝delayed_job,這聽起來像是我正在嘗試做的下一步 – marcgg 2009-12-17 14:44:20
我不再在那個項目上工作,但我相信它的工作。無論如何,你仍然可以使用exec並將命令發送給linux來執行它。 – khelll 2009-12-17 14:55:19
Rubyzip是一個不錯的選擇;如果你需要擴展代碼來解壓縮一個壓縮文件的內容,你可以很容易地添加它,而且你不需要依賴任何外部程序。一般來說(甚至可能不是你的情況),使用寶石是更好的解決方案,海事組織。 – kiamlaluno 2009-12-17 15:02:29