Fix static GIFs being saved as empty files when using local storage (#8012)
Fix #7997 Fix #6237gh/stable
parent
e9b322d0a6
commit
5a6645c922
|
@ -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
|
||||||
|
|
Reference in New Issue