【问题标题】:heroku paperclip weird error Paperclip::Errors::MissingRequiredValidatorErrorheroku 回形针奇怪的错误 Paperclip::Errors::MissingRequiredValidatorError
【发布时间】:2014-02-25 20:22:27
【问题描述】:

我已经在 heroku 上部署了一个 rails 应用程序,在我更改域之前它运行良好,在本地运行良好,现在我开始收到以下错误:Paperclip::Errors::MissingRequiredValidatorError

s3 env 变量是在 heroku 上设置的,我找不到为什么会出现这个错误, 感谢您的帮助。

编辑:供将来参考,它与heroku无关,一旦重新捆绑,它会在本地抛出相同的错误,正如答案所暗示的那样。

【问题讨论】:

    标签: heroku amazon-s3 paperclip


    【解决方案1】:

    试试这个 -

    validates_attachment_content_type :file_name, :content_type => /\Aimage/.*\Z/

    【讨论】:

      【解决方案2】:

      或者干脆把它全部忽略

      do_not_validate_attachment_file_type :image
      

      【讨论】:

        【解决方案3】:

        Paperclip(第 4 版)现在默认是安全的。您必须验证 mime 类型或文件名,或者明确关闭验证。

        这是为了防止内容类型欺骗,例如上传 php 文件而不是图像,然后该图像将可公开访问。

        推荐的解决方案如下所示:

        validates_attachment_content_type :image, :content_type => /\Aimage/
        

        此处的文档:https://github.com/thoughtbot/paperclip#security-validations

        注意这不仅仅是一个 S3 问题。

        【讨论】:

          【解决方案4】:

          使用 4.0 版(2 天前发布)回形针需要文件/mime 验证。 只需将以下内容添加到您的模型中:

          validates_attachment_content_type :file_name, :content_type => %w(image/jpeg image/jpg image/png)
          

          重要提示:替换文件名和内容类型,使其适合您的项目。

          它可以在本地工作,因为您可能还没有更新回形针。

          【讨论】:

          • 另外,在has_attached_file之后你需要这个接缝
          • 有关其他选项,请参阅 Paperclip 文档的安全验证部分:github.com/thoughtbot/paperclip
          • 此外,您还可以通过do_not_validate_attachment_file_type :file_name 忽略此安全要求。 仅在您信任用户上传的受控情况下使用此功能。
          猜你喜欢
          • 2016-01-14
          • 2014-03-20
          • 1970-01-01
          • 1970-01-01
          • 2012-05-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-23
          相关资源
          最近更新 更多