2011-10-15 34 views
-2

我試圖設置上傳我的rails應用程序的照片。但是,載波上傳器不會調整上傳的照片大小。當我沒有調用resize_to_fill功能時,照片將完美上傳。有什麼建議?Rails - WIndows 7 carrierwave,minimagick調整大小不起作用

當使用resize_to_fill提交照片時,將返回錯誤「未能處理」。我該如何解決它?

我想我需要'要求''carrierwave/processing/mini_magick'來調用resize_to_fill,但我不知道把這個文件放在哪裏。

的Gemfile
「carrierwave」, 「0.4.10」
「mini_magick」, 「3.2.1」
「軌道」, 「2.3.14」

平臺
WIN7 64位
紅寶石1.8.7 ImageMagick的(路徑= C:\ ImageMagick的-6.7.2-Q16)

batterhead


感謝您的回覆。以下是我的編碼,請告知。
我只是想這個問題來自我的組合win7 + imagemagick + mini_magick + carrierwave?這個問題應該很容易被很多人轉載,我想。這些版本是否相互矛盾?

我剛剛測試了我的應用程序,並試圖再次上傳照片。處理錯誤返回:
無法操作MiniMagick,也許它不是一個圖像?原始錯誤:命令(「identify -ping C:/Users/User/mini_magick20111018-4296-f18lsi-0.jpg」)失敗:{:output =>''identify'\ 244 \ 243 \ 254O \ 244 \ 272 \ 263 \ 241 \ 251Y〜\ 263 \ 241 \ 251R \ 245O \ 241B ............「,:status_code => 1}
當然,jpg並沒有在C:/ Users /用戶文件夾。請幫忙。

{avatar_uploader.rb} 
class AvatarUploader < CarrierWave::Uploader::Base 
    include CarrierWave::MiniMagick 
    storage :file 
    def store_dir 
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 
    end 

    process :resize_to_fill => [320, 240] 

    def extension_white_list 
    %w(jpg jpeg gif png) 
    end 
end 

{event_photo.rb} 
class EventPhoto < ActiveRecord::Base 
    attr_accessible :event_id, :avatar, :created_by, :updated_by 

    belongs_to:event 
    mount_uploader :avatar, AvatarUploader 
end 

{preinitializer.rb} 
begin 
    require 'rubygems' 
    require 'bundler' 
end 
+0

請添加您正在嘗試完成的代碼示例H。 –

+0

任何人都可以幫忙嗎? – user661684

回答

2

我遇到了類似的問題,雖然不是在Windows上,儘管這些信息可能有所幫助。

從MiniMagick的Github頁面(https://github.com/probablycorey/mini_magick/)看來,MiniMagik似乎依賴於「mogrify」命令。

我調試問題的第一步是確保正確的庫建立在我的開發,分期和生產系統上,並且「mogrify」命令可用。

爲了達到這個目的,在我的OS/X系統上,我必須卸載並重新安裝ImageMagik,這是我用macports所做的。

我驗證安裝與 「識別」,然後做在Rails的控制檯如下:

filename = '/Users/me/tmp/testfile.jpg' 
image = MiniMagick::Image.open(filename) 
+0

我們剛剛在生產中安裝了ImageMagick,使用上面相同的代碼片段進行了驗證,並且所有工作都按預期工作。祝你好運! –

+0

上面的代碼片段可以幫助我找到問題的根源。謝謝 !!! – crazycrv

+0

這段代碼和大量的調試使我得到了一個subexec的分支,它需要讓MiniMagick在Windows上使用JRuby。該叉是:https://github.com/rdp/subexec和Gemfile行爲我修復它是:gem「subexec」,::git =>「https://github.com/rdp/subexec.git」 –

0

第1步:檢查是否mini_magick正常工作

  • 你必須安裝了ImageMagick或GraphicsMagick。

第2步:在您的IRB嘗試以下命令

> irb 
> require 'mini_magick' 
> filename = '/Users/me/tmp/testfile.jpg' 
> image = MiniMagick::Image.open(filename) 
  • 如果您收到錯誤,運行此程序,如「無解碼委託這種圖像格式」,而進入第3步。

3步:檢查ImageMagick的支持格式

> identify -list format 
  • 該列表必須列出jpg。如果沒有轉到步驟4

第4步:下載並安裝解碼代表了ImageMagick的

網站:http://www.imagemagick.org/download/delegates/

> tar -zxvf jpegsrc.v8b.tar.gz 
> cd jpegsrc.v8b 
> sudo ./configure 
> sudo make 
> sudo make install 
  • 是重新安裝ImageMagick的
+0

這個傢伙說的話。 –

相關問題