gpt4 book ai didi

ruby-on-rails-4 - Rails Paperclip 内容类型通过排除进行验证

转载 作者:行者123 更新时间:2023-12-02 04:06:28 26 4
gpt4 key购买 nike

我正在开发供内部使用的消息系统,每条消息都可以包含附件。所述附件几乎可以是任何类型的文件,但我不想允许某些类型的文件,例如 EXE。

我宁愿简单地指定不应的内容类型,而不是在模型验证中列出大量已接受的 content_types,这远远不切实际,而且肯定会阻止应该接受的文件。被接受。

谷歌搜索没有结果,但我确信其他人以前也遇到过这种情况,知道如何最好地解决这个问题吗?

最佳答案

这就是我最终所做的:

has_mongoid_attached_file :file

do_not_validate_attachment_file_type :file
validate :excluded_content_type

def excluded_content_type
forbidden = [
"application/x-msdownload",
"application/x-ms-installer",
"application/x-elf",
"application/x-sh",
"application/x-shellscript",
"text/x-perl",
"text/x-python",
"application/javascript"
]
errors.add(:base, 'Executable and script files are not allowed.') if forbidden.include? file_content_type
end

我不知道这是否是最好的方法,但它确实有效。如果您有更好的方法,请发布您的答案!

关于ruby-on-rails-4 - Rails Paperclip 内容类型通过排除进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39217363/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com