Impossible de télécharger l’image en utilisant Paperclip 4.0 Rails 3

J’ai installé ImageMagick et j’ai installé le joyau Paperclip (version 4.0). J’ai ajouté:

Paperclip.options[:command_path] = 'C:\Program Files\ImageMagick-6.8.8-Q16' 

au développement.rb

Mon modèle de photo.rb a ceci:

 has_attached_file :image validates_attachment_content_type :image, :content_type => ['image/jpeg', 'image/png', 'image/jpg'] 

Je peux choisir un fichier dans photos / new.html.erb mais une fois que je clique sur le bouton “Créer une photo”, la page se recharge avec un message d’erreur spécifique à Paperclip indiquant:

 1 error prohibited this photo from being saved: Image translation missing: en.activerecord.errors.models.photo.atsortingbutes.image.spoofed_media_type 

Quelqu’un peut-il aider s’il vous plaît? Merci

Ce message est déclenché par un contrôle de validation de l’usurpation de contenu.

Pour Paperclip v.4, cela génère un bogue https://github.com/thoughtbot/paperclip/issues/1429

Alors que pour Paperclip v.3, il semble que cela lance un avertissement de désapprobation, https://github.com/thoughtbot/paperclip/issues/1423

J’attendrais donc que l’équipe Paperclip résolve ce bogue avant d’utiliser la version 4. Pour l’instant, je préfère continuer à utiliser la version 3.

 gem "paperclip", "~> 3.5.3" 

Ajoutez ceci à un initialiseur pour désactiver la protection contre l’usurpation d’identité:

 require 'paperclip/media_type_spoof_detector' module Paperclip class MediaTypeSpoofDetector def spoofed? false end end end 

Cela fonctionne sur Paperclip v3.5.1 (espérons que cela fonctionnera toujours dans V4 ):

 has_attached_file :attachment, styles: lambda { |a| a.instance.is_image? ? { *** image_styles ***} : { *** video_styles ***}, processors: lambda { |a| a.is_video? ? [ :ffmpeg ] : [ :thumbnail ] } def is_video? attachment.instance.attachment_content_type =~ %r(video) end def is_image? attachment.instance.attachment_content_type =~ %r(image) end