我在一個字符串中有一個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