2012-05-15 56 views
0

我使用回形針和以下設置。如果原始文件太小,回形針不會創建縮略圖

has_attached_file :attached, 
     :styles => { 
     :small => ["170x170>", :jpg], :large => ["400x400>", :jpg] 
     } 

我想如果原始文件太小,則不會創建縮略圖。 例如,如果原始文件是250x250,則會創建「小縮略圖」(170x170), ,但不會創建大縮略圖。

但是,上面的設置,都將創建「小」和「大」 ...

此外,我想切換縮略圖設置。 示例, case1:如果原始文件爲250x250,則創建「小」和「大」縮略圖。情況2:如果原始文件是250x250,則只創建「小」縮略圖。

我想動態地切換case1和case2。

你有什麼好主意嗎?

回答

0

對於你的問題的第一部分: 如果原始文件是太小 您指定回形針調整圖片的大小,只有當它比你所指出的尺寸更大的回形針不能創建縮略圖。這是由>後綴

和關於你問題的第二部分進行:

你必須做你自己 - 檢查回形針處理器是如何工作的

這裏是寫曲別針文檔中[ 1]

Paperclip支持可擴展的後處理器選擇。當您爲附件定義一組樣式時,默認情況下預計這些「樣式」實際上是「縮略圖」。但是,您可以做的不僅僅是縮略圖。 通過定義Paperclip :: Processor的子類,您可以在附加的文件上執行所需的任何處理。您的Rails應用程序的lib/paperclip_processors目錄中的任何文件都會自動通過回形針加載,從而使您可以輕鬆定義自定義處理器。您可以指定與處理器:處理器選項has_attached_file:

has_attached_file:掃描:風格=> {:文本=> {:質量=>:更好}}, :處理器=> [:OCR]

這將加載假想的類Paperclip :: Ocr,它會將散列「{:quality =>:better}」與上傳的文件一起傳遞給它。有關定義處理器的更多信息,請參閱Paperclip :: Proc

[1] https://github.com/thoughtbot/paperclip

相關問題