From eb26524abec5746d7ff380cc96683d752328bec0 Mon Sep 17 00:00:00 2001 From: Vasily Fedoseyev Date: Tue, 9 Apr 2024 14:55:55 +0300 Subject: [PATCH] Add extension to original file on reprocess --- lib/paperclip/attachment.rb | 5 ++++- lib/paperclip/optimizer.rb | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/paperclip/attachment.rb b/lib/paperclip/attachment.rb index 1a9c318..a16f187 100644 --- a/lib/paperclip/attachment.rb +++ b/lib/paperclip/attachment.rb @@ -314,7 +314,10 @@ module Paperclip # thumbnails forcefully, by reobtaining the original file and going through # the post-process again. def reprocess! - new_original = Tempfile.new("paperclip-reprocess-#{instance.class.table_name}-#{instance.id}-") + new_original = Tempfile.new([ + "paperclip-reprocess-#{instance.class.table_name}-#{instance.id}-", + File.extname(instance_read(:file_name)) + ]) new_original.binmode old_original = to_file(:original) || raise("no original in store") # по идее копирование нужно не всегда diff --git a/lib/paperclip/optimizer.rb b/lib/paperclip/optimizer.rb index c69d500..6a0811d 100644 --- a/lib/paperclip/optimizer.rb +++ b/lib/paperclip/optimizer.rb @@ -22,6 +22,7 @@ module Paperclip dst_shell = dst_file.path.shellescape cmd = case real_content_type when 'image/jpeg', 'image/jpg', 'image/pjpeg' + # TODO: --stdout > #{dst_shell} "cp #{src_shell} #{dst_shell} && jpegoptim --all-progressive -q --strip-com --strip-exif --strip-iptc -- #{dst_shell}" when 'image/png', 'image/x-png' "pngcrush -rem alla -q #{src_shell} #{dst_shell}"