업로드 된 zip 파일의 압축을 풀고 파일 내용 하나를 데이터베이스에 저장하려고합니다. rubyzip 라이브러리에는 유용한 문서가 거의 없습니다.rubyzip 라이브러리를 사용하여 압축 된 파일의 내용을 얻으려면 어떻게해야합니까?
key : string (파일 이름) 및 data : binary (파일 내용)가있는 자산 테이블이 있습니다.
은 내가 rubyzip 라이브러리를 사용하고,이 같은까지 그것을 만든 :
Zip::ZipFile.open(@file_data.local_path) do |zipfile|
zipfile.each do |entry|
next if entry.name =~ /__MACOSX/ or entry.name =~ /\.DS_Store/ or !entry.file?
asset = self.assets.build
asset.key = entry.name
asset.data = ?? # what goes here?
end
end
어떻게이 ZipEntry를에서 데이터를 설정할 수 있습니까? 임시 파일을 사용해야합니까?
data = entry.extract "#{RAILS_ROOT}/#{entry.name}"
asset.data = File.read("#{RAILS_ROOT}/#{entry.name}")
내가 어떻게 그 확실하지 않다 :이 방법으로 항목을 저장할 수
asset.data = entry.read_local_entry {|z| z.read }
또는 :
감사합니다. 노력 10 점! – jcoby