現在のコード
CarrierWaveを使用して以下のようなコードをzip_uploader.rbに書きました。
ruby:zip_uploader.rb
1 version :unzip do 2 process :unzip 3 def full_filename (for_file = model.logo.file) 4 'index.index' 5 end 6 end 7 8 def unzip 9 10 require 'zip' 11 12 tmp_file = File.join(File.dirname(current_path), 'tmp_file') 13 File.rename(current_path, tmp_file) 14 15 Zip::File.open(tmp_file) do |zip_file| 16 zip_file.each do |file| 17 file_path = File.join(File.dirname(current_path), file.name) 18 zip_file.extract(file, file_path) unless File.exist?(file_path) 19 end 20 end 21 22 end
わからないこと
tmpフォルダにzipの解凍はされますが、public/upload/video/file/#{model.id}へファイルが移動されません。
理想系
tmpファイルに解凍されたファイルの全てがpublic/upload/video/file/#{model.id}へ移動され、アップロードに使用したzipが削除された後アップローダーでmountしたカラムには、index.htmlが入っている
お願い
おわかりになる方、または、ヒントをご存じの方、コードや修正箇所などご教授いただければと存じます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。