Zipping remote files

Hello everyone

I am using rubyzip gem for zipping files.

Zipping local files are good and except zipping remote files.

Example(my code):
image_list = [“http://xxxx.xx.image.jpg”,“http://xxxx.xx.image.jpg”], Zip::ZipFile::CREATE) { |zipfile|
image_list.each do |image|
zipfile.add(image, save_pathr + ‘/’ + image)

I am gettting error as *"No such file or directory

how can zip my remote files?

Save the image to your local filesystem, then pass those locations to
the method, rather than passing HTTP urls directly.

Dheeraj K.

There is no other way? Because it take time to download from server to

On Tue, Jan 8, 2013 at 6:55 PM, Dheeraj K.
[email protected]wrote:


Regards by

On 8 January 2013 13:28, Saravanan P [email protected] wrote:

There is no other way? Because it take time to download from server to

How can you expect to zip it without fetching the file first, from the
machine xxxx.xx in your example? Do you expect the rubyzip gem to
somehow run on that machine and then send you the zipped file?


If the resulting archive is supposed to have the data from all the
files, it stands to reason the source files have to be read in order to
be zipped up.

Why don’t you download the files on a remote server, perhaps a EC2
instance, then run your script to zip them up, and then download the
resulting zip file?

Dheeraj K.

Well, if you’re expecting to somehow zip files on the file server,
you’re highly mistaken.

Here’s an article on fast zipping in S3:

Wait, you know S3 but you don’t know EC2? Huh.

Dheeraj K.

I am using amazon s3 service. I dont know about EC2.
I am zipping multi images which uploaded by customer in one day.
In this case, the images will be more. so if i download and added into
file, it may take comeplte too long.

On Tue, Jan 8, 2013 at 7:03 PM, Dheeraj K.
[email protected]wrote:


Regards by