J'utilise Paperclip 2.3.5 dans une application Rails pour stocker des documents PDF sur Amazon S3. Pour chaque PDF, une vignette JPG est générée par ImageMagick. Im » utilisant cette configuration dans le modèle:Trombone: PDF thumbnail a un contenu de type incorrect sur S3
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'
Mais il y a problème: La vignette générée est téléchargé sur S3 avec le content_type « application/pdf », ce qui est faux, parce qu'il est un JPG (vous pouvez voir la content_type d'un fichier sur S3 avec un outil d'exploration S3 comme Cyberduck). Pour le fichier PDF d'origine, ce type de contenu est correct, mais pas pour la vignette. Cela provoque des problèmes dans certains navigateurs (par exemple Chrome ou Safari) qui n'affichent pas la miniature en ligne.
Attention: Le type content_type stocké dans ma base de données (champ "file_content_type") est "application/pdf", ce qui est toujours correct, car c'est le type content_type pour le fichier original.
Comment puis-je remplacer le type_contenu d'une vignette si elle doit être différente du fichier d'origine?
Cela ressemble à un bug dans Paperclip, pourquoi ne pas déposer un rapport de bogue sur ce problème? – Ariejan
Était un bug trombone, la demande de traction a été fermée: https://github.com/thoughtbot/paperclip/pull/414 – MoMolog