Я использую Paperclip 2.3.5 в приложении Rails для хранения PDF-документов на Amazon S3.Для каждого PDF миниатюра JPG генерируется ImageMagick.Я использую эту конфигурацию в модели:
has_attached_file :file,
:styles => { :thumb => { :geometry => "200x200>",
:format => :jpg
} },
:whiny => false,
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:s3_permissions => 'authenticated-read',
:s3_headers => { 'Expires' => 1.year.from_now.httpdate },
:url => "s3.amazonaws.com",
:path => "documents/:id/:style/:basename.:extension",
:bucket => 'mybucket'
Но есть проблема: созданный эскиз загружается на S3 с типом содержимого "application / pdf", который НЕПРАВИЛЬНЫЙ, потому что это JPG (вы можетесм. content_type файла на S3 с помощью инструмента исследования S3, такого как Cyberduck).Для исходного файла PDF этот тип содержимого правильный, но не для миниатюры.Это вызывает проблемы в некоторых браузерах (например, Chrome или Safari), которые не отображают миниатюру.
Осторожно: тип содержимого, хранящийся в моей базе данных (поле «file_content_type»), равен «application / pdf», чтовсе еще правильно, потому что это content_type для исходного файла.
Как я могу переопределить content_type для эскиза, если он должен отличаться от исходного файла?