Я создал ZIP-файл, используя ruby, теперь я должен добавить пароль к этому файлу.Но это не работает.Может ли кто-нибудь помочь.Я использую rubyzip и zip-zip gem.Код, который я попробовал, как показано ниже:
#Create Zip File and delete if already existing
filename= 'abc.xlsx'
zip_file_path = Rails.root.join('tmp/my.zip')
file_name =filename
file_path = Rails.root.join('tmp', filename)
logger.error zip_file_path
logger.error file_path
File.delete(zip_file_path) if File.exist?(zip_file_path)
Zip::ZipFile.open(zip_file_path, Zip::ZipFile::CREATE) do |zip|
zip.add(file_name, file_path)
end
# end
Следующий шаг - добавить пароль в ZIP-файл.Я попробовал ниже метод
Zip::File.encrypt(zip_file_path, 'password')
# Got error like : **NameError (uninitialized constant Zip::Archive):**
Также я попытался использовать ниже:
Zip::OutputStream.write_buffer(::StringIO.new(''), Zip::TraditionalEncrypter.new('password')) do |out|
out.put_next_entry("my_file.txt")
out.write my_data
end.string
#error: **NameError (uninitialized constant Zip::TraditionalEncrypter):**