Hi,
Senario: I have to upload a Zip file which contains flash scripts using
paperclip. Now I want unZip the file into a folder and save in rails
app.
I could able to upload a zip file. But failing to unzip to a folder in
filesystem
-------------------------- code sample from rails console-------------
?> p=Kproduct.find 3
=> #<Kproduct id: 3, title: “aaaa ddddd ddddddddddaaaaa”, kdescription:
“aaaaaaaa”, created_at: “2011-08-
03 12:47:17”, updated_at: “2011-08-03 12:47:25”, kcategory_id: 43, size:
9304, width: 269, height: 208, pa
rent_id: nil, content_type: “image/jpeg”, filename: “061.JPG”,
resolution: “Resizable”, opens_with: “Flash
8 (8+)”, price: 0, action_version: “AS3”, kmime: “application/zip”,
kpath: “/assets/3/FTsource.zip”, knam
e: “FTsource.zip”, ksize: 33, kadmime: nil, kadpath: nil, kadname: nil,
user_id: nil, thumbnail: nil, excl
usive: nil, user_tags: “aaa aaa aaaa”, category_id: 1,
author_comments: “”, photo_file_name: “0611111.JP
G”, photo_content_type: “image/jpeg”, photo_file_size: 11814,
photo_updated_at: “2011-08-03 12:46:49”, pre
view_file_name: “FTpreview.zip”, preview_content_type:
“application/zip”, preview_file_size: 6081523, prev
iew_updated_at: “2011-08-03 12:47:04”, source_file_name: “FTsource.zip”,
source_content_type: “application
/zip”, source_file_size: 6081523, source_updated_at: “2011-08-03
12:47:08”>
?> p.preview.url
=> “/system/previews/3/original/FTpreview.zip?1312375624”
?> file=p.preview.url
=> “/system/previews/3/original/FTpreview.zip?1312375624”
?> Zip::ZipFile.open(file) { |zip_file|
?> zip_file.each { |f|
?> f_path=File.join(destination, f.name)
FileUtils.mkdir_p(File.dirname(f_path)) zip_file.extract(f, f_path) unless File.exist?(f_path) } }
Zip::ZipError: File /system/previews/3/original/FTpreview.zip?1312375624
not found
from
C:/Ruby187/lib/ruby/gems/1.8/gems/rubyzip-0.9.4/lib/zip/zip.rb:1396:in
initialize' from C:/Ruby187/lib/ruby/gems/1.8/gems/rubyzip-0.9.4/lib/zip/zip.rb:1410:innew’
from
C:/Ruby187/lib/ruby/gems/1.8/gems/rubyzip-0.9.4/lib/zip/zip.rb:1410:in
`open’
from (irb):23
<\Administrator\kmartapp\trunk\kmart\public\system\previews\3\original
Display all 568 possibilities? (y or n)
<Administrator\kmartapp\trunk\kmart\public\system\previews\3\original\FTpreview.zip’
=> “C:\Documents and
Settings\Administrator\kmartapp\trunk\kmart\public\system\previews\3\origin
al\FTpreview.zip”
<Administrator\kmartapp\trunk\kmart\public\system\previews\3\original\FTpreview.zip"
=> “C:Documents and SettingsAdministratorkmartapp\trunkkmartpublic
ystempreviews\003originalFTpreview.zip”
Zip::ZipFile.open(file) { |zip_file|
?> zip_file.each { |f|
?> f_path=File.join(destination, f.name)FileUtils.mkdir_p(File.dirname(f_path)) zip_file.extract(f, f_path) unless File.exist?(f_path) } }
Zip::ZipError: File C:Documents and SettingsAdministratorkmartapp
runkkmartpublic ystempreviews♥orig
inalFTpreview.zip not found
from
C:/Ruby187/lib/ruby/gems/1.8/gems/rubyzip-0.9.4/lib/zip/zip.rb:1396:in
initialize' from C:/Ruby187/lib/ruby/gems/1.8/gems/rubyzip-0.9.4/lib/zip/zip.rb:1410:innew’
from
C:/Ruby187/lib/ruby/gems/1.8/gems/rubyzip-0.9.4/lib/zip/zip.rb:1410:in
`open’
from (irb):34
Can anyone help me, why I cannot unZip file to folder.
Is it advisible to use paperclip for this type of upload.