自己在学习过程碰到了这个问题,上传图片的时候,我限制了除 jpg,gif,png 的文件,不过我只要改后缀名,其他什么的是假的。File.ftype() 只要是文件都是 file 这个值。救我吧。
http://boonedocks.net/mike/archives/162-Determining-Image-File-Types-in-Ruby.html
http://stackoverflow.com/questions/51572/determine-file-type-in-ruby
https://www.google.com.hk/search?q=ruby+detect+image+file+type&sugexp=chrome,mod=1&sourceid=chrome&ie=UTF-8
#1 楼 @reus 很丰富哈。。谢谢。我刚刚找到了 mini_magick 获得 mime_type 的方法了。我恰好用了 mini_magick
搞是搞好了。目前问题停留在验证上面。我不管上传什么文件提示错误。 这个 MiniMagick::Image.new(file) 获得可能都不是完整的路径。有什么办法解决吗?
validate :file_format_error def file_format_error if MiniMagick::Image.new(file) !~ /^image\/.*?jpeg|jpg|png|bmp|gif$/i errors.add(:file, "上传的文件格式错误") end end