如何解决在回形针上保存图像时缺少扩展名
| 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。