Carrierwave Fog получить расширение файла - PullRequest
0 голосов
/ 18 октября 2019

Я использую CarrierWave и Fog. Вам нужно получить доступ к расширению загружаемого файла, чтобы проверить, является ли оно изображением или видео?

Как мне это сделать? Мне нужно выполнить fix_exif_rotation, если изображение обновляется, а расширение находится в image_file_list.

class MediaUploader < CarrierWave::Uploader::Base

  include CarrierWave::MiniMagick
  storage :fog

  def extension_white_list
    %w(srt xml mid midi kar aac f4a f4b m4a mp3 oga.ogg opus ra wav bmp gif jpeg jpg jxr hdp wdp png svg svgz tif tiff wbmp webp jng 3gp 3gpp f4p f4v m4v mp4 mpeg mpg ogv mov webm flv mng asf asx wmv avi)
  end

  def fix_exif_rotation
    manipulate! do |img|
      img.tap(&:auto_orient)
    end
  end

  image_file_list = %w(bmp gif jpeg jpg png tif tiff)

end

1 Ответ

0 голосов
/ 24 октября 2019

Вы можете использовать процесс в своем загрузчике следующим образом:

process :fix_exif_rotation

Тогда в вашем методе fix_exif_rotation вы можете сделать следующее:

if image_file_list.include? self.file.extension
  // youre code here
end

Надеюсь, это то, что вы ищете

...