PaperClip / Passenger NotIdentifiedByImageMagickError:
-
06-07-2019 - |
Question
Lorsque j'essaie de télécharger une photo dans Ruby on Rails à l'aide de Paperclip sur mon ordinateur local, cela fonctionne parfaitement.
Lorsque j'essaie de télécharger une photo dans Ruby on Rails à l'aide de Paperclip sous Linux ( CentOS 5.2) serveur avec Apache et Phusion Passenger , je reçois:
2 errors prohibited this user from being saved
There were problems with the following fields:
- Avatar /tmp/stream20091026-21120-1qdbnul-0 is not recognized by the 'identify' command.
- Avatar /tmp/stream20091026-21120-1qdbnul-0 is not recognized by the 'identify' command.
J'ai essayé d'ajouter:
Paperclip.options[:command_path] = "/usr/local/bin"
à production.rb mais cela n’a pas changé.
Dans les fichiers journaux, les erreurs suivantes apparaissent:
Paramètres: {" commit " = = gt; " Upload " ;, "action" = "gt;" update "," _method "=" gt; "put", "authenticity_token" = > "419410afc22737cd2f6b6096a95327db76a48ba9", "contrôleur" => > "utilisateurs", "utilisateur" = > {& avatar " = = > #}} [trombone] Enregistrement des pièces jointes. [trombone] Une erreur a été reçue pendant le traitement:
/ tmp / stream20091026-20752-1g568yk-0 is non reconnu par le 'identifier' commande.
La solution
Identify est un utilitaire de ligne de commande contenu dans le package ImageMagick .
À partir de sa page d'accueil:
Le programme d'identification décrit les format et caractéristiques d'un ou plus de fichiers image. Il indique également si une image est incomplète ou corrompue. le les informations renvoyées incluent les numéro d'image, nom du fichier, largeur et la hauteur de l'image, que le l'image est colorormapped ou non, le nombre de couleurs dans l'image, la nombre d'octets dans l'image, le format de l'image (JPEG, PNM, etc.), et enfin le nombre de secondes qu'il a pris pour lire et traiter l'image. Beaucoup plus d'attributs sont disponibles avec l'option verbeuse.
Commencez par copier l'image sur le serveur et exécutez la commande d'identification dessus. Vous devriez recevoir quelque chose comme:
identify ~/capture.jpg
capture.jpg JPEG 1216x244 1216x244+0+0 8-bit DirectClass 97.7kb
Si vous recevez un message d'erreur, essayez de mettre à jour le paquet ImageMagick sur votre serveur. Vous pouvez trouver une version binaire mise à jour ici: http://www.imagemagick.org/script/binary-releases.php
Autres conseils
dans mon cas, avec la même erreur, la réinstallation de imagemagic a aidé (Ubuntu 12.10)