(rails)如何验证上传的.txt文件是否不是图像文件?

Ton*_*ark 2 validation file-upload ruby-on-rails

我有一个上传文本文件字段,有了它我计划将文件保存在某处,然后将文件的位置存储在数据库中.但是,我想确保他们上传的文件是.txt文件,而不是图像文件.我想这会发生在验证步骤中.如何验证这样的事情?另外,如何获取上传文件的文件名?我总是可以检查它是否说'.txt'但是为了将来的参考,知道如何验证而不仅仅是文件名将是有帮助的.

the*_*Man 7

试图根据文件扩展名验证文件的内容,为重大黑客行为打开了大门.更改扩展名并上传文件是微不足道的.

如果您使用的是基于Mac/Linux/Unix的系统,则OS"file"命令是标准,因为它在文件中查找标记文件类型的关键字节.http://en.wikipedia.org/wiki/File_(Unix)我不确定Windows可用的是什么,但这可能会有所帮助:确定Ruby中的文件类型