How to unzip a file in Ruby on Rails?

后端 未结 4 1685
盖世英雄少女心
盖世英雄少女心 2020-12-08 06:37

I\'m uploading a file to the server in Ruby on Rails

Normally, it\'s a text file and I save it in the model as a \'file\' field in a Submission ActiveRecord with oth

4条回答
  •  轮回少年
    2020-12-08 06:59

    Worked for me:

    gem install rubyzip
    

    main.rb

    require 'zip'
    
    def extract_zip(file, destination)
      FileUtils.mkdir_p(destination)
    
      Zip::File.open(file) do |zip_file|
        zip_file.each do |f|
          fpath = File.join(destination, f.name)
          FileUtils.mkdir_p(File.dirname(fpath))
          zip_file.extract(f, fpath) unless File.exist?(fpath)
        end
      end
    end
    
    extract_zip('file.zip', 'tmp')
    

提交回复
热议问题