Грешка с кламер - NotIdentifiedByImageMagickError

Опитвам се да кача изображения в aws s3 с кламер, но получавам тази грешка

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'

В моя модел настроих тези стилове

 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"

Когато махна тези стилове всичко работи, но наистина ми трябват.

Използвам Rails 3.2.16 и

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

Вече инсталирах ImageMagick и rmagick gem

Помогнете ми моля.


person Minh Tri Pham    schedule 15.05.2014    source източник
comment
Сигурен ли си, че е валиден jpeg?   -  person Mike Szyndel    schedule 16.05.2014


Отговори (9)


Проблемът беше, че моят ImageMagick нямаше JPEG делегати. Разбрах с помощта на convert -list format. Затова преинсталирах ImageMagick с помощта на MacPorts и преинсталирах rmagick с новите Paths to ImageMagick.

person Minh Tri Pham    schedule 16.05.2014
comment
В допълнение към инсталирането на imagemagick чрез MacPorts (след като направих brew uninstall imagemagick), трябваше също да задам това в моя development.rb: Paperclip.options[:command_path] = '/opt/local/bin' - person septerr; 17.12.2014

Имах подобен проблем и актуализирането на imagemagick разреши това. Може да искате да опитате и това.

person fruqi    schedule 28.08.2014
comment
Актуализирането на ImageMagick реши и за мен. За Homebrew: brew upgrade imagemagick - person Rian Rainey; 23.09.2014

Имах същия проблем на моя Mac. Разреших го чрез инсталиране на GhostScript

brew install gs

както се казва в документацията за кламер: http://rdoc.info/gems/paperclip/frames/file/README.md

person mmaloon    schedule 26.09.2014

В моя случай имах мръсна инсталация на ImageMagick (v7.0), която инсталирах ръчно, преди да използвам rpm. Тази не ми показа всички зависимости, от които се нуждаеше ImageMagick, така че Paperclip се срина, когато се опита да използва команди за конвертиране или идентифициране.

Препоръчвам на потребителите на Unix да инсталират с помощта на yum или apt-get за правилно инсталиране на всички зависимости. Препоръчваме също да инсталирате ghostscript в случай, че командите за идентифициране и конвертиране не могат да бъдат извикани от кламер.

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

Моля, следвайте тази връзка за по-конкретни подробности: Как да инсталирате ImageMagick на CentOS и RHEL

Използвани руби скъпоценни камъни: кламер (5.1.0) кокаин (0.5.8)

person Víctor Ramírez    schedule 09.09.2016
comment
Този отговор е много подобен на друг и не добавя никаква допълнителна информация - person Guenther; 09.09.2016

Имах същия проблем и освен че преинсталирах всичко (ImageMagick, libtool, ghostscript, jpeg) и накрая стартирах общ brew update && brew upgrade, трябваше да свържа отново freetype:

brew unlink freetype && brew link freetype
person Rick Quantz    schedule 09.10.2014

Имах същия проблем, но премахнах стилове и приложението започна да работи

has_attached_file :picture
validates_attachment_content_type :picture, content_type: /^image\/(png|gif|jpeg|jpg)/
person Radek    schedule 14.05.2018

Инсталирането на libmagickwand-dev изглежда оправи нещата.

  1. sudo apt autoremove imagemagick
  2. rm /usr/bin/convert и rm /usr/bin/convert-im6
  3. sudo apt-get инсталирайте imagemagick
  4. sudo apt-get инсталирайте libmagickwand-dev

sudo apt инсталирайте ffmpeg


ImageMagick делегира видео обработка. Загубих повече от 5 часа, за да разбера защо такъв бъг NotIdentifiedByImageMagickError


инсталирайте make https://www.imagemagick.org/discourse-server/viewtopic.php?t=24284

person Yaroslav Malyk    schedule 27.05.2018

От тук

OLD syntax - :styles => { :medium => "300x300>" }
New syntax - style: { :medium => "300x300>" }
person Nithin    schedule 06.10.2017
comment
хм, наистина новият синтаксис е: ' styles: { medium: 300x300› } ' - person Luis Amor; 10.04.2018
comment
този отговор е грешен, като зададете style вместо styles това, което правите, е да зададете директива, която не съществува в Paperclip, следователно няма да се обработват стилове освен оригинала. Това обаче премахва грешката, тъй като грешката е свързана с процеса на генериране на стилове, така че избягването на този процес кара грешката да изчезне, но няма да бъдат генерирани стилове. - person silva96; 08.08.2019

Също така се сблъсках със същия проблем на Ubuntu 18 сървър.

Можете да проверите за делегатите, инсталирани с Imagemagick, като използвате командата по-долу:

convert --version

Открих някои липсващи делегати след инсталиране като JPEG/JPG или PNG.

Изчистих пакетите Imagemagick и след това инсталирах необходимите зависимости за JPEG/JPG и PNG, използвайки командата по-долу:

sudo apt-get install build-essential checkinstall libx11-dev libxext-dev zlib1g-dev libpng12-dev libjpeg-dev libfreetype6-dev libxml2-dev

След това се опитах да инсталирам Imagemagick с най-новата версия и се получи.

person Hunny Jummani    schedule 17.02.2021