как добавить пароль к уже существующему zip-файлу, используя ruby ​​on rails - PullRequest
0 голосов
/ 19 мая 2018

Я создал 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):**
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...