Я использовал ответ выше, чтобы использовать Zlib :: Deflate
Я продолжал получать испорченные файлы (для маленьких файлов), и потребовалось много часов, чтобы выяснить, что проблема может быть исправлена с помощью:
buf = zstream.deflate(string,Zlib::FINISH)
без линии zstream.finish!
def self.deflate(string)
zstream = Zlib::Deflate.new
buf = zstream.deflate(string,Zlib::FINISH)
zstream.close
buf
end