Fix static GIFs being saved as empty files when using local storage (#8012)

Fix #7997
Fix #6237
This commit is contained in:
Eugen Rochko 2018-07-14 03:56:52 +02:00 committed by GitHub
parent e9b322d0a6
commit 5a6645c922
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -5,14 +5,7 @@ module Paperclip
# to convert animated gifs to webm # to convert animated gifs to webm
class GifTranscoder < Paperclip::Processor class GifTranscoder < Paperclip::Processor
def make def make
num_frames = identify('-format %n :file', file: file.path).to_i return File.open(@file.path) unless needs_convert?
unless options[:style] == :original && num_frames > 1
tmp_file = Paperclip::TempfileFactory.new.generate(attachment.instance.file_file_name)
tmp_file << file.read
tmp_file.flush
return tmp_file
end
final_file = Paperclip::Transcoder.make(file, options, attachment) final_file = Paperclip::Transcoder.make(file, options, attachment)
@ -22,5 +15,12 @@ module Paperclip
final_file final_file
end end
private
def needs_convert?
num_frames = identify('-format %n :file', file: file.path).to_i
options[:style] == :original && num_frames > 1
end
end end
end end