2016-06-01 6 views
1

Существует множество вопросов Stackoverflow относительно этого, но после многих часов я исчерпал каждый угол, о котором я мог думать, и все еще получаю следующую ошибку, когда я пытаюсь загрузить изображение, используя драгоценный камень PaperClip (в сочетании с PaperCrop, для обрезки изображения).PaperClip gem Paperclip :: Errors :: NotIdentifiedByImageMagickError

Paperclip::Errors::NotIdentifiedByImageMagickError - Paperclip::Errors::NotIdentifiedByImageMagickError: 
paperclip (4.3.6) lib/paperclip/geometry_detector_factory.rb:10:in `make' 
paperclip (4.3.6) lib/paperclip/geometry.rb:26:in `from_file' 
papercrop (0.3.0) lib/papercrop/model_extension.rb:95:in `image_geometry' 
papercrop (0.3.0) lib/papercrop/helpers.rb:45:in `cropbox' 
app/views/users/_crop_photo_modal.html.haml:12:in `block in _app_views_users__crop_photo_modal_html_haml___1410212035753490924_70365684359680' 

Вот что печатает в журналах непосредственно перед ошибкой:

[AWS S3 200 0.554305 0 retries] head_object(:bucket_name=>"XXX-development-bucket-us",:key=>"profiles/profile_images/1/original/main_sized_small.png") 

[AWS S3 200 0.049585 0 retries] head_object(:bucket_name=>"XXX-development-bucket-us",:key=>"profiles/profile_images/1/thumb/main_sized_small.png") 

[AWS S3 200 0.053507 0 retries] head_object(:bucket_name=>"XXX-development-bucket-us",:key=>"profiles/profile_images/1/medium/main_sized_small.png") 

[AWS S3 200 0.048024 0 retries] head_object(:bucket_name=>"XXX-development-bucket-us",:key=>"profiles/profile_images/1/large/main_sized_small.png") 

Command :: PATH=/usr/local/bin/:$PATH; file -b --mime '/tmp/3aa49ec6bfc910647fa1c5a013e48eef20160601-82031-t5fq8a.png' 
Command :: PATH=/usr/local/bin/:$PATH; identify -format '%wx%h,%[exif:orientation]' '/tmp/3aa49ec6bfc910647fa1c5a013e48eef20160601-82031-1kh6s2w.png[0]' 2>/dev/null 
Command :: PATH=/usr/local/bin/:$PATH; identify -format %m '/tmp/3aa49ec6bfc910647fa1c5a013e48eef20160601-82031-1kh6s2w.png[0]' 
Command :: PATH=/usr/local/bin/:$PATH; convert '/tmp/3aa49ec6bfc910647fa1c5a013e48eef20160601-82031-1kh6s2w.png[0]' -auto-orient -resize "50x" -crop "50x50+0+0" +repage '/tmp/96994f01b3cacc5ddb9ed35b539d8c0420160601-82031-1n0cfvq' 
Command :: PATH=/usr/local/bin/:$PATH; identify -format '%wx%h,%[exif:orientation]' '/tmp/3aa49ec6bfc910647fa1c5a013e48eef20160601-82031-1kh6s2w.png[0]' 2>/dev/null 
Command :: PATH=/usr/local/bin/:$PATH; identify -format %m '/tmp/3aa49ec6bfc910647fa1c5a013e48eef20160601-82031-1kh6s2w.png[0]' 
Command :: PATH=/usr/local/bin/:$PATH; convert '/tmp/3aa49ec6bfc910647fa1c5a013e48eef20160601-82031-1kh6s2w.png[0]' -auto-orient -resize "100x" -crop "100x100+0+0" +repage '/tmp/96994f01b3cacc5ddb9ed35b539d8c0420160601-82031-1fnck50' 
Command :: PATH=/usr/local/bin/:$PATH; identify -format '%wx%h,%[exif:orientation]' '/tmp/3aa49ec6bfc910647fa1c5a013e48eef20160601-82031-1kh6s2w.png[0]' 2>/dev/null 
Command :: PATH=/usr/local/bin/:$PATH; identify -format %m '/tmp/3aa49ec6bfc910647fa1c5a013e48eef20160601-82031-1kh6s2w.png[0]' 
Command :: PATH=/usr/local/bin/:$PATH; convert '/tmp/3aa49ec6bfc910647fa1c5a013e48eef20160601-82031-1kh6s2w.png[0]' -auto-orient -resize "220x" -crop "220x220+0+0" +repage '/tmp/96994f01b3cacc5ddb9ed35b539d8c0420160601-82031-e3r9iy' 
Command :: PATH=/usr/local/bin/:$PATH; file -b --mime '/tmp/3aa49ec6bfc910647fa1c5a013e48eef20160601-82031-ub7nk7.png' 
(0.4ms) ROLLBACK 
Command :: PATH=/usr/local/bin/:$PATH; identify -format '%wx%h,%[exif:orientation]' 'https://XXX-development-bucket-us.s3.amazonaws.com/profiles/profile_images/1/original/blake.png?1464811715[0]' 2>/dev/null 

Моя среда:

  • скрепка v4.3.6
  • papercrop v0.3.0
  • aws-sdk v1.66.0
  • Рельсы 4. 0,0
  • Рубин 2.0.0p643
  • Amazon S3 для хранения файлов
  • OS-X Yosemite 10.10.5 (та же ошибка происходит на сервере Heroku Linux)

Я попытался следующие:

  1. Используйте aws-sdk версии 2 или выше.
  2. Удалите все ImageMagick Установок (у меня было 2 изначально), и переустановить ImageMagick с варку установить ImageMagick
  3. к более ранней версии PAPERCLIP 4.1.1
  4. включают: s3_credentials и: s3_permissions непосредственно в модели, следующим образом:

    has_attached_file: profile_image, : стили => {: большой палец => "50х50 #",: средний => "100x100 #", большой => "220х220 #"}, : хранение =>: s3, : s3_credentials => {: bucket => "XXX-development-bucket-us",: access_key_id => "XXX",: secret _access_key => "XXX"}, : s3_permissions => "public-read", : default_url => '/images/:attachment/missing_:style.jpg' validates_attachment: profile_image, content_type: {content_type: ["image/JPG», "изображение/JPEG", "изображение/PNG"]} crop_attached_file: profile_image,: аспект => "1: 1"

Я думал, что это может быть проблема разрешения s3, но разрешения на наш ведро разработки должны обеспечивать доступ к пользователю, идентифицируемому ключами.

Я также добавил ...

Paperclip.options [: command_path] = "/ USR/местные/бен"

... в средах/development.rb.

Я проверял ImageMagick работает над командной строкой.

Любые идеи, на что еще обратить внимание?

ответ

0

Да, есть много выходных ответов для этого с различными предложениями.Но я пробовал все возможные решения в течение дня и пришел к решению, которое было исправлено для меня.

Ubuntu 12,04, Paperclip ~> '4,2'

Изначально у меня был ImageMagick 6.6.9-7 2016-06-01 В16, обновляя это ImageMagick 7.0.3-1 Q16 x86_64 2016-09-27 починил это.

Примечание: Попробуйте установить ImageMagick вручную с помощью wget http://www.imagemagick.org/download/ImageMagick.tar.gz

Смежные вопросы