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

2024-03-30

我有一个上传文本文件字段,我计划用它来将文件保存在某个地方,然后将文件的位置存储在数据库中。但是,我想确保他们上传的文件是 .txt 文件,而不是图像文件。我想这会发生在验证步骤中。如何验证这样的事情呢?另外,如何获取上传文件的文件名?我总是可以检查它是否显示“.txt”,但为了将来的参考,了解如何在不使用文件名的情况下进行验证会很有帮助。


尝试根据文件扩展名验证文件的内容正在为主要黑客打开大门。更改扩展名和上传文件很简单。

如果您使用的是基于 Mac/Linux/Unix 的系统,操作系统“file”命令是标准命令,因为它会在文件内部查找标记文件类型的关键字节。http://en.wikipedia.org/wiki/File_(Unix) http://en.wikipedia.org/wiki/File_(Unix)我不确定 Windows 上有什么可用的,但这可能会有所帮助:确定 Ruby 中的文件类型 https://stackoverflow.com/questions/51572/determine-file-type-in-ruby

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • Ruby on Rails:Cucumber:如何点击打开新窗口的链接?

    我有一个在新窗口中打开的链接 我需要测试该新窗口中的应用程序部分 任何建议将不胜感激 定义一个包含以下代码的步骤 page driver browser switch to window page driver browser window
  • 回形针:样式取决于模型(has_many 多态图像)

    我已将模型设置为使用多态图像模型 这工作正常 但是我想知道是否可以更改每个模型的 styles 设置 找到了一些使用 STI 模型 Art has many images as gt imageable Image belongs to i
  • 如何在 Rails 上的 .yml 本地化文件中换行?

    我有一个带有一些本地化内容的 terms en yml 文件 例如 en devise registrations terms text This agreement was written in English US To the ext
  • 带有 @global gem 的 Ruby/RVM - 捆绑包运行失败并显示“require”:无法加载此类文件 - 捆绑器 (LoadError)

    我学习了linux 1个月 当我试图使所有步骤从在 Heroku 上从 MySQL 迁移到 Postgres https devcenter heroku com articles heroku mysql我遇到了一个无法处理的错误 当我尝
  • 使用设计宝石导轨注销用户

    在管理部分 我显示当前登录用户的列表 现在管理员可以选择一个或多个用户并销毁他们的会话 注销他们 我不知道从哪里开始 请帮助我 您可以使用sign out通过传入用户对象在控制器操作中的方法 Make sure only admins ca
  • 创建费用前验证 CVC 代码

    我正在尝试检查用户输入的 cvc 代码 我已经存储了条带 customer id 和条带 card id 我想在向用户收费之前验证 CVC 代码 以下是创建费用的代码 charge Stripe Charge create amount g
  • 为什么我需要 Nginx 和 Puma?

    我正在将 Rails 应用程序部署到生产环境中 看起来 Puma 速度很快 可以处理我想要在网络服务器中完成的许多事情 我想知道我是否需要使用 Nginx 如果只使用 Puma 我会错过什么 Nginx 是一个 Web 服务器 puma 是
  • Rails 3 best_in_place 编辑在不刷新页面的情况下无法工作

    我从Bernat的博客rails迷你教程中获取了评论代码 我尝试使用他的 best in place gem 添加就地编辑功能 在大多数情况下它工作正常 我的代码部署在http falling spring 3964 herokuapp c
  • 为什么 Rails 应用程序在底部显示数据库信息?

    我创建了一个博客 每当我添加帖子时 帖子索引页面底部总会显示数据库中的记录列表 home html erb 像这样
  • Rails 3 分页,will_paginate 与 Kaminari

    我的设置 Rails 3 0 9 Ruby 1 9 2 我正在为我的应用程序寻找分页解决方案 发现有一个新的宝石Kaminari与值得信赖的人相比will paginate 看起来像will paginate有一段时间没有更新了 但后来又以
  • 为 Rails 上的 postgresql 创建用户

    我选择 postgresql 作为我的 Rails 数据库 但当我尝试运行 rake db create all 时 我遇到了一个明显常见的错误 即 致命 角色 app 不存在 我找到了两种解决方案 但我不确定哪一种是正确的 有一个网站说
  • 当数据验证失败时保留表单字段中的值

    我在弄清楚验证失败时如何保留用户数据时遇到问题 我对 PHP 有点陌生 所以我的逻辑可能会犯一些巨大的错误 目前 如果验证失败 所有字段都会被清除 并且 Post 数据也会消失 这是一些代码 假设用户输入无效电子邮件 我希望保留 名称 字段
  • 如何使用国家宝石

    我正在尝试使用国家宝石 https github com hexorx countries 但是在我捆绑安装这个 gem 后 有一些关于如何合并它的基本问题 我是否需要创建新的控制器 模型才能访问这些国家 地区 如何创建一个简单的选择下拉列
  • 在 Yosemite 上安装 Ruby 1.9.2 时出错

    我在 Yosemite 上使用 rvm 安装 ruby 1 9 2 时遇到错误 有人可以帮助我吗 我更新了自制程序和rvm 我正在与其他人合作处理这个项目 所以我无法升级 ruby 我在下面放置了我的输出的链接 提前致谢 Kanyons M
  • Rails HABTM 设置、模型对象和 join_table 插入控制器设置

    我有以下设置 1 个产品有多个 Product types 许多 Product types 有 1 种类型 根据我对文档的理解 HABTM 关系 我的模型是 class Product lt ApplicationRecord has a
  • jquery验证-等待远程检查完成

    当我打电话时 form valid 我连接了远程验证检查 一切正常 但是如果所有其他字段都有效 则表单会通过验证 因为远程检查没有 足够快 返回响应 有没有办法强制 jquery 验证等待任何远程检查完成或挂钩远程检查调用的完成事件 我目前
  • Rails 4 可安装引擎,找不到文件“jquery”

    我正在创建一个 Rails 可安装引擎插件 它使用 gem jquery rails 我在 gemspec 文件中添加了这段代码 s add dependency jquery rails gt 3 0 1 and run bundle i
  • Jquery/Javascript 上传和下载文件,无需后端

    是否可以在没有后端服务器的情况下在 JavaScript 函数中下载和上传文件 我需要导出和导入由 JavaScript 函数生成的 XML 我想创建按钮 保存 xml 来保存文件 但我不知道是否可行 另一方面 我希望将 XML 文件直接上
  • Gem 在 irb 中可用,但在 Rails 控制台中不可用

    我正在尝试在我的 Rails 项目中使用 RedCloth gem 当我使用irb我可以加载宝石 require rubygems require RedCloth 它工作正常 但是当我在 Rails 控制台中尝试相同的操作时 我收到一条错
  • “heroku”命令存在于以下 Ruby 版本中:

    我在使用 heroku 工具带时遇到了重大问题 我正在使用 cedar 14 堆栈 当我尝试使用不是的 ruby 版本时ruby 2 0 0 dev我收到这个错误 rbenv heroku command not found The her

随机推荐