2017-10-19 64 views
0

我在我的activejob中提供了一个从zip文件中提取特定文件的函数。以下代码提取空文件。ruby​​zip在activejob中提取空文件

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中运行时会提取空文件?

回答

1

你的代码似乎很好。请确保您的文件没有再保存在继续执行的代码中。

有机会,它提取罚款,但后来在代码中,它再次以空的形式保存。这发生在我身上过去:)

让我知道这是否解决了您的问题。 :)

+0

你说得对。此功能后,文件被一段代码覆盖。谢谢。 –