2011-09-29 207 views
15

我使用回形针允许用户上传图像,并且只有在图像为tiff图像时才会将图像转换为jpg/png 。回形针 - 将tiff图像转换为jpg或png

我使用下面的代码在我image.rb:

validates_attachment_presence :data 
    validates_attachment_content_type :data, 
    :content_type => ['image/jpeg', 'image/pjpeg', 
            'image/jpg', 'image/png', 'image/tif', 'image/gif'], :message => "has to be in a proper format" 

我想知道是否有可能上传时,他们TIFF图像转换成JPG或PNG。

非常感谢

回答

29

终于找到了解决办法。认为这可能对别人有帮助。

在image.rb,进入下面的代码行:

:styles => { 
    :thumb => ["150x172#",:jpg], 
    :large => ["100%", :jpg] 
    } 

这将创建在主图像文件夹2个的其他文件夹,并thumblarge。如果你想显示图像(最初是tiff),只需显示'large'文件夹中找到的jpeg版本。

请注意,原始tiff图像仍将存储在主图像文件夹下的“原始”文件夹中。

干杯

10

Tanya您的解决方案很好。但是,如果您不关心文件类型,则可以通过传递:original选项将所有图像存储为jpg。例如:

:styles => { 
.... 
    :original => ["100%", :jpg] 
} 

这将有助于确保无处调用文件的位置会遇到问题。