2017-10-19 142 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

你說得對。此功能後,文件被一段代碼覆蓋。謝謝。 –