我在一个字符串中有一个zip归档文件,但rubyzip gem似乎想要从一个文件输入。我拿出最好的是写的zip压缩包来传递文件名以Zip::ZipFile.foreach()
的唯一目的的临时文件,但这似乎折磨:从一个字符串中解压zip归档文件
require 'zip/zip'
def unzip(page)
"".tap do |str|
Tempfile.open("unzip") do |tmpfile|
tmpfile.write(page)
Zip::ZipFile.foreach(tmpfile.path()) do |zip_entry|
zip_entry.get_input_stream {|io| str << io.read}
end
end
end
end
有没有简单的方法?请参阅Ruby Unzip String。
谢谢 - 这很好用!在http://stackoverflow.com/a/14912237/558639 – 2013-02-16 16:04:36