2017-10-19 6 views
0

zip 파일에서 특정 파일을 추출하는 내 activejob의 기능이 있습니다. 다음 코드는 빈 파일을 추출했습니다.rubyzip이 활성 파일에서 빈 파일을 추출합니다.

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

당신 말이 맞습니다. 이 함수 다음에 파일 덩어리로 파일을 덮어 썼습니다. 감사. –