【问题标题】:Validate extension in Paperclip - Ruby on Rails在 Paperclip 中验证扩展 - Ruby on Rails
【发布时间】:2011-07-02 03:33:23
【问题描述】:

我发现 Paperclip 可以验证文件内容类型,即 image/jpeg,但我想专门验证扩展名。这是因为我正在使用一个无法获得一致内容类型的晦涩扩展。有谁知道这是否可行,或者是一个好方法吗?

【问题讨论】:

    标签: ruby-on-rails paperclip paperclip-validation


    【解决方案1】:

    猜,不用用回形针的方法验证。你可以使用类似的东西:

    has_attached_file :attachment
    validates_format_of :attachment_file_name, :with => %r{\.(docx|doc|pdf)$}i
    

    编辑:

    或者,用回形针验证它:

    validates_attachment_content_type :attachment, :content_type => 'text/plain'
    

    ^ 它会自动生成内容类型不匹配的错误。

    【讨论】:

    • 谢谢,这行得通。简单跟进:如何自定义错误信息?这似乎不起作用: validates_format_of :attachment_file_name, :with => %r{\.(txt)$}i, :message => "Can only upload .txt files."
    • 这很奇怪!但无论如何,请检查替代解决方案的编辑。
    • 这里的第二种选择可能也接受具有其他文件结尾且具有 MIME 类型“text/plain”的文件。可以找到许多这样的文件结尾,例如http://reference.sitepoint.com/html/mime-types-full.
    • 这可以被欺骗。除了匹配文件名之外,请确保以合法的方式验证它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 2014-03-22
    • 1970-01-01
    相关资源
    最近更新 更多