1

I'm trying to figure out a way to zip files using rubyzip. I rolled back to version 0.9.9 because the new version didn't work. below is the code I'm trying to test it with

require 'rubygems'
require 'zip/zip'

folder = "/temp"
input_filenames = ['COKE.csv', 'GM.csv', 'GOOG.csv']

zipfile_name = "/archive.zip"

Zip::ZipFile.open(zipfile_name, Zip::ZipFile::CREATE) do |zipfile|
  input_filenames.each do |filename|
    # Two arguments:
    # - The name of the file as it will appear in the archive
    # - The original file, including the path to find it
    zipfile.add("archive", folder + '/' + filename)
  end
  zipfile.get_output_stream("myFile") { |os| os.write "myFile contains just this" }
end

I get an error though, Errno::EACCES: Permission denied - /archive.zip20140716-17537-1t9f1pd. I guess this is something to do with disc permissions? how can i fix it?

Zach Smith
  • 8,458
  • 13
  • 59
  • 133

1 Answers1

3

Don’t try to put archive file in the root filesystem, since you don’t have rights to write there:

- zipfile_name = "/archive.zip"
+ zipfile_name = "/temp/archive.zip"

Hope it helps.

Aleksei Matiushkin
  • 119,336
  • 10
  • 100
  • 160