如何更改此代码,以便我只允许上传pdf文件:
unless @file.content_type =~ /^image/
errors.add(:file, "is not a recognized format")
return false
end
答案 0 :(得分:3)
当然,这段代码非常不安全。它依赖于浏览器发送文件以获得正确的MIME类型,并假设没有人发送被黑客入侵的请求。
坦率地说,除非你打开文件并解析它,知道什么是特定格式的有效文件,你不能确定上传的任何文件是特定类型。
答案 1 :(得分:2)
没有使用过,但pdf mime类型是application / pdf,所以应该只是:
unless @file.content_type =~ /^application\/pdf$/
答案 2 :(得分:2)
你必须:
您不能依赖浏览器为您提供的MIME类型。 only 方法是验证文件。您可以使用标记等检查格式,但最简单,最强大的方法是使用适当的库调用打开它。