2014-05-15 9 views
7

Ich versuche Bilder zu aws s3 mit Büroklammer zu laden, aber ich bekomme diese FehlermeldungPaperclip Fehler - NotIdentifiedByImageMagickError

Command :: file -b --mime '/var/folders/d_/k4_ps9hj5fj_3df5t210vjym0000gn/T/2611a2396a4af6938e5c5867c8bb409f20140515-7787-1u773ft.jpg' 
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/d_/k4_ps9hj5fj_3df5t210vjym0000gn/T/2611a2396a4af6938e5c5867c8bb409f20140515-7787-1rep3kt.jpg[0]' 2>/dev/null 
[paperclip] An error was received while processing: #<Paperclip::Errors::NotIdentifiedByImageMagickError: Paperclip::Errors::NotIdentifiedByImageMagickError> 
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/d_/k4_ps9hj5fj_3df5t210vjym0000gn/T/2611a2396a4af6938e5c5867c8bb409f20140515-7787-1rep3kt.jpg[0]' 2>/dev/null 
[paperclip] An error was received while processing: #<Paperclip::Errors::NotIdentifiedByImageMagickError: Paperclip::Errors::NotIdentifiedByImageMagickError> 
Command :: file -b --mime '/var/folders/d_/k4_ps9hj5fj_3df5t210vjym0000gn/T/2611a2396a4af6938e5c5867c8bb409f20140515-7787-kfejir.jpg' 

In meinem Modell, habe ich diese Stile bis

has_attached_file :photo, :storage => :s3, :s3_credentials => "#{Rails.root}/config/s3.yml", :path => "/:style/:id/:filename", :styles => { :medium => "300x300>", :thumb => "100x100>" }, :default_url => "/assets/profile/iama.png" 

Wenn ich entfernen Bei diesen Stilen funktioniert alles, aber ich brauche sie wirklich.

Ich Rails 3.2.16 und

mit
paperclip (4.1.1) 
     activemodel (>= 3.0.0) 
     activesupport (>= 3.0.0) 
     cocaine (~> 0.5.3) 
     mime-types 

ich bereits installiert ImageMagick und die rmagick gem

mir bitte helfen.

+2

Sind Sie sicher, dass es ein gültiges JPEG ist? –

Antwort

9

Das Problem war, dass mein ImageMagick keine JPEG-Delegaten hatte. Ich fand heraus convert -list format. Also habe ich ImageMagick mit MacPorts neu installiert und rmagick mit den neuen Paths zu ImageMagick neu installiert.

+0

Neben der Installation von imagemagick über MacPorts (nachdem build uninstall imagemagick gemacht wurde), musste ich dies auch in meiner development.rb setzen: 'Paperclip.options [: command_path] = '/ opt/local/bin'' – septerr

5

Ich hatte ähnliches Problem und Aktualisierung ImageMagick gelöst, dass. Vielleicht möchten Sie das auch ausprobieren.

+1

Aktualisierung von ImageMagick gelöst für mich auch. Für Homebrew: 'brew upgrade imagemagick' –

0

ich hatte das gleiche Problem, und zusätzlich zu der Neuinstallation alles (ImageMagick, libtool, ghostscript, jpeg) und läuft schließlich eine allgemeine brew update && brew upgrade ich relink musste auch freetype:

brew unlink freetype && brew link freetype 
0

In meinem Fall hatte ich eine schmutzige ImageMagick Installation (v7.0), dass ich in manuell vor der Verwendung von rpm. Dieser zeigte mir nicht alle Abhängigkeiten, die ImageMagick benötigte, so dass Paperclip abstürzte, wenn es versuchte, Befehle zu konvertieren oder zu identifizieren.

Ich empfehle, für Unix-Benutzer mit yum oder apt-get für die korrekte Installation aller Abhängigkeiten zu installieren. Außerdem sollte Ghostscript installiert werden, wenn die Befehle "Identifizieren" und "Konvertieren" nicht aus der Büroklammer abgerufen werden können.

cd ImageMagick-7.0.3-0 
make uninstall 
yum install ImageMagick ImageMagick-devel 

Bitte folgen Sie diesem Link für weitere spezifische Details: How to Install ImageMagick on CentOS & RHEL

Rubygems verwendet: Büroklammer (5.1.0) Kokain (0.5.8)

+0

Diese Antwort ist sehr ähnlich zu einer anderen und fügt keine zusätzlichen Informationen hinzu – Guenther

1

Von here

OLD syntax was :styles => { :medium => "300x300>" } 
New syntax is style: { :medium => "300x300>" }