I'm using PaperClip plugin in my Rails application as follows:
has_attached_file :photo, :styles => {:small => '64X64>', :medium => '250X250>'},
:url => "/assets/user_photos/:id/:style/:basename.:extension",
:path => ":rails_root/public/assets/user_photos/:id/:style/:basename.:extension"
# validates_attachment_presence :photo
validates_attachment_content_type :photo, :content_type => ['image/jpeg', 'image/png','image/gif']
validates_attachment_size :photo, :less_than => 1.megabytes
It works fine on development(Mac OSX + Mongrel). But when I put it in production (Linux Debian + Apache/Passenger) it only accepts .gif and I get the following error for .png and .jpg:
Photo /tmp/stream20091028-20066-1t1a0oz-0 is not recognized by the 'identify' command.
Photo /tmp/stream20091028-20066-1t1a0oz-0 is not recognized by the 'identify' command.
I tried adding the following line as some tutorials suggests but it didn't help!
Paperclip.options[:command_path] = "/usr/local/bin"
On your production server, try running:
This should give you your path to ImageMagick's identify binary -- if it doesn't you don't have ImageMagick installed or it is not in your path.
If it returns something like "/usr/bin/identify", then you'll want to set the Paperclip options in your production.rb environment file to:
I had the same issue after upgrading to Lion. Running 'identify image.jpg' threw
dyld: Library not loaded
error.This post helped resolving the issue.
In case someone else runs into this problem, I had the same error on my Mac OSX Snow Leopard when processing JPG files (GIF files worked fine though). I'm running Rails 3.0.5 and Paperclip 2.3.11.
I fixed the problem by installing from source the jpeg encoding library available at http://www.ijg.org/files/jpegsrc.v8c.tar.gz.
Then I re-installed ImageMagick from source:
After that I was able to successfully upload JPG files with Paperclip.