2011-03-13 45 views
5

我正在使用carrierwave上传图片。我需要我的主要图像版本 保持其原始格式,但其他版本将 转换为gif。不同版本的不同文件扩展名

目前我正在做这样的事情:

def filename 
    change_ext_to_gif(super) 
end 

def change_ext_to_gif(ext) 
    ext.chomp(File.extname(ext)) + ".gif" 
end 

version :preview do 
    process :resize_to_fill => [60, 60] 
    process :convert => "gif" 
end 

version :full do 
    process :resize_to_limit => [320, 320] 
    process :convert => "gif" 
end 

version :mobile do 
    process :resize_to_limit => [72, 96] 
    process :convert => "gif" 
end 

当然,这改变了我的原始文件的扩展名也。 有没有办法解决这个问题?我想我需要重写版本的块中的一些方法 。但我无法弄清楚他们(我 尝试覆盖文件名和URL这有助于但防止版本的 文件被删除)。

回答

相关问题