rubyzip извлекает пустой файл в activejob

У меня есть функция в моей активной работе, которая извлекает определенный файл из zip-файла. Следующий код извлек пустой файл.

def extract_file(from, name)
  to = get_local_dest(name)

  Zip::File.open(from) do |zip_file|
    entry = zip_file.glob(name).first
    puts entry.get_input_stream.read
    entry.extract(to)
  end

return to

конец

Я добавил отладчик и запустил следующую строку кода в консоли, после чего извлеченный файл не был пустым.

entry.extract(to)

Может ли кто-нибудь помочь мне с этой проблемой? Почему эта функция извлекает пустой файл, когда он запускается в ActiveJob?


person Muhammad Ali    schedule 19.10.2017    source источник


Ответы (1)


ваш код, кажется, в порядке. Пожалуйста, убедитесь, что ваш файл не сохраняется снова в коде, который продолжается.

Есть вероятность, что он извлекся нормально, но позже в коде он снова был сохранен в пустом виде. Со мной такое уже было :)

Дайте мне знать, если это решило вашу проблему. :)

person omair azam    schedule 20.10.2017
comment
Ты прав. Файл был перезаписан куском кода после этой функции. Спасибо. - person Muhammad Ali; 20.10.2017