2013-03-23 60 views
1

我剛剛安裝回形針到我的應用程序上傳圖像,並且一切都很好,直到我試圖添加樣式來調整圖像大小。 (我可以罰款上傳圖片之前,我添加此代碼)調整大小錯誤 - 回形針::錯誤:: NotIdentifiedByImageMagickError

上pins.rb:

has_attached_file :image, styles: { medium: "300x300>" } 

我加入了類在_pin.html.rb:

<td><%= image_tag pin.image(:medium) %></td> 

但現在,當我嘗試並上傳圖片,我得到的錯誤:

Paperclip::Errors::NotIdentifiedByImageMagickError 

當我刪除的樣式,它工作正常(alebit未調整),但一些在調整大小是搞砸了一切。我嘗試了不同的文件類型和文件名。我在谷歌搜索了這個錯誤,所有的解決方案都不適合我。最流行的是降級可卡因,但是當我嘗試它,我得到的消息:

Bundler could not find compatible versions for gem "cocaine": 
In Gemfile: 
paperclip (~> 3.4.1) ruby depends on 
cocaine (~> 0.5.0) ruby 

cocaine (0.3.2) 

我的Rails服務器返回的消息:

Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2013-03-22 21:50:05 -0400 
Served asset /application.js - 304 Not Modified (1ms) 
[2013-03-22 21:50:05] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true 

任何幫助嗎?如果有幫助,我在github上有https://github.com/jeremybelcher/omrails

回答

0

你可能還沒有安裝imagemagick,並沒有在你的應用程序中指出它。

正如documentation說:

ImageMagick must be installed and Paperclip must have access to it. To ensure that it does, on your command line, run which convert (one of the ImageMagick utilities). This will give you the path where that utility is installed. For example, it might return /usr/local/bin/convert.

In development mode, you might add this line to config/environments/development.rb):

Paperclip.options[:command_path] = "/usr/local/bin/" 
+0

可惜的是並沒有這樣做。它工作正常,直到我嘗試添加樣式來調整上傳時的圖像大小。 – 2013-03-23 02:42:27

1

曾與同omrails分配完全一樣的問題 - 重新啓動我的機器固定我的問題。

0

我有這個問題,並通過在上傳模型Paperclip.options[:command_path] = "YOUR_PATH_TO_IMAGE_MAGICK"(在我的情況image.rb)固定它:

(Windows 7中,軌道4 &紅寶石2.0):

#Image Upload 
has_attached_file :image, 
    :command_path => 'C:\RailsInstaller\ImageMagick', 
    :styles => { :medium => "x300", :thumb => "x100" }, 
    :default_url => "xxxxx", 
    :storage => :s3, 
    :bucket => 'xxxxxx', 
    :s3_credentials => S3_CREDENTIALS 

仍在努力使其成爲開發的條件&生產

2

要回答Rich Peck的問題,您不必直接將其添加到模型中 - 你可以將它添加到/config/environments/development.rb。這樣它只會影響你的開發版本,而不會影響你的生產版本。

所以在我的情況,我只是說

Paperclip.options[:command_path] = 'C:\Program Files\ImageMagick-6.8.7-Q16'

到我的配置/環境/ development.rb文件的末尾和它的工作就像一個魅力。

0

1-我有同樣的問題,我解決了它,當我配置動態鏈接器運行時綁定來創建必要的鏈接和緩存到最新的共享庫使用ldconfig command

所以,你需要使用下面的命令:

sudo ldconfig /usr/local/lib 

其實,我建議使用步驟在how-to-install-image-magick-and-setup-paperclip重新安裝ImageMagick的。

2 - 你需要在development.rb文件中添加以下代碼:

Paperclip.options[:command_path] = "/usr/local/bin/"