I am implementing feature which allows user to either download single file or multiple files from S3. Single file downloading is working properly, but for multiple files I am receiving error on Heroku,
Errno::ENOENT (No such file or directory @ rb_file_s_lstat )
Controller code snippet for downloading files as zip format is as below,
def method_name
zipfile_name = "#{Rails.root}/public/archive.zip"
Zip::File.open(zipfile_name, Zip::File::CREATE) do |zipfile |
@transfer.transfer_attachments.each do |attachment |
zipfile.add(attachment.avatar.file.filename, attachment.avatar.url)
end
end
send_file(File.join("#{Rails.root}/public/", 'archive.zip'), : type =>
'application/zip', : filename => "#{Time.now.to_date}.zip")
end
Gemfile
ruby '2.3.1'
gem 'rails', '~> 5.0.1'
gem 'rubyzip', '>= 1.0.0'
gem 'zip-zip'
This zipfile functionality works proper with locally stored files.