最近在用 Carrierwave 做媒体文件管理,现在碰到一个问题是,上传的源文件如果是 psd 或者 svg 格式的,我会将源文件不做任何处理进行保存,但同时会保存一份其他版本,比如 thumb ,thumb 版本我会用 MiniMagick 转换成 PNG 格式
version :thumb do
process :convert => 'png'
process :resize_to_limit => [200, 200]
end
Uploader 中重写了 Filename
def filename
"#{Time.now.to_i}.#{file.extension}" if original_filename
end
那么问题来了,这样保存之后的文件后缀名都是 svg(虽然 thumb 版本格式是 PNG 的),在页面就无法显示 thumb 图片。 求点拨!