All: I am trying read zip file from HTTP GET request. One way to do it is by saving the response body to a physical file first and then reading the zip file to read the files inside the zip. Is there a way to read the files inside directly without having to save the zip file into a physical file first? My current code: Net::HTTP.start("clinicaltrials.gov") do |http| resp = http.get("/ct2/results/download?id=15002A") open("C:\\search_result.zip", "wb") do |file| file.write(resp.body) end end Zip::ZipFile.open("C:\\search_result.zip") do |zipfile| xml = zipfile.file.read("search_result.xml") end Many thanks, christoph
on 2009-05-07 03:07
on 2009-05-07 08:30
Arthur Christoph wrote: > > Is there a way to read the files inside directly without having to save > the zip file into a physical file first? > I couldn't figure out how to do that, but you can always use TempFile to handle creating a unique name and then deleting the file automatically when your program terminates.