问题描述
|
image = PortfolioFileItem.find(107)
img_source = \"http://s3.amazonaws.com/test/portfolio_file_items_final/original/1.jpg\"
image.picture_from_url(img_source)
image.save(false)
图片保存完成,但缺少图片扩展名。这是保存的样本图像名称:
打开uri20110528-6779-fpiust-0。
请帮我解决问题。谢谢
解决方法
要向回形针添加扩展名,请在has_attached_file之后添加此行作为选项
:path => \":rails_root/public/:attachment/:id/:style/:basename.:extension\"
您可以自定义此路径以适合您的需求,但是最后必须有have2ѭ,:extension是可用于插值的许多值之一。
有关更多信息,请参见此博客文章。
, 如果实际文件最初没有扩展名,则可以检测到扩展名并在保存之前添加它
def besfore_save
tempfile = data.queued_for_write[:original]
unless tempfile.nil?
extension = File.extname(tempfile.original_filename)
if !extension || extension == \'\'
mime = tempfile.content_type
ext = Rack::Mime::MIME_TYPES.invert[mime]
self.data.instance_write :file_name,\"#{tempfile.original_filename}#{ext}\"
end
end
true
end