我想下载一个zip文件,解压zip并读取这些文件。下面是我的代码片段:下载并使用rubyzip解压缩远程zip文件
url = "http://localhost/my.zip"
response = RestClient::Request.execute({:url => url, :method => :get, :content_type => 'application/zip'})
zipfile = Tempfile.new("downloaded")
zipfile.binmode #someone suggested to use binary for tempfile
zipfile.write(response)
Zip::ZipFile.open(zipfile.path) do |file|
file.each do |content|
data = file.read(content)
end
end
当我运行此脚本,我看到下面的错误:
zip_central_directory.rb:97:in `get_e_o_c_d': Zip end of central directory signature not found (Zip::ZipError)
我不能够理解这个错误是什么?我可以从zip文件网址下载并查看该zip文件。
是的,可能是压缩文件已损坏。当我访问其他一些远程zip文件时,我的代码可以正常工作。谢谢。 –