从 Rails 返回文件

2023-11-21

初学者铁路问题:如何从 Rails 中的控制器返回文件?

我熟悉返回/渲染 JSON 对象。但是我从未返回/渲染带有任意扩展名的文件。

从阅读周围所以听起来像render :nothing => true有帮助。我只是在寻找一些指导或相关文档。


您可以使用内置导轨发送文件 or 发送数据方法。

要流式传输文件(例如,对于文件代理端点),请使用 send_file:

send_file("#{RAILS_ROOT}/path/to/file/on/server",
  :filename => "client-suggested-filename",
  :type => "mime/type")

要流式传输生成的数据(例如生成的 pdf),请使用 send_data:

send_data(your_data,
  :filename => "client-suggested-filename",
  :type => "mime/type")

文件扩展名和 mime 类型不必匹配,但它们可能应该只是为了符合最终用户的期望。例如,如果您使用 mime 类型发送application/pdf,你真的应该设置:filename to something.pdf.

如果您不确定要发送的文件的 mime 类型,您可以检查这个维基百科页面或使用哑剧类型宝石。 (或者,如果您正在从存储 mime 类型的数据库中读取数据,请使用该数据库)。

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

从 Rails 返回文件 的相关文章

  • 通过使用 Minitest 的 Rails,如何设置 RuboCop 在每次使用 rake 运行测试时自动运行?

    当我运行以下命令时 我想要RuboCop https github com bbatsov rubocop在测试运行之前检查我指定的应用程序目录 bundle exec rake test 我添加了以下任务lib tasks test ra
  • .bat 文件将文件排序到文件夹中

    对于我的图片集 我希望文件夹中的所有图片按日期自动分类到文件夹中 幸运的是 这些文件已经以时间戳命名 2012 07 15 12 21 06 jpg 2012 07 15 12 21 26 jpg 2012 07 16 12 12 50 j
  • 从部分重定向回具有部分的同一页面后保留验证错误

    因此 我试图从我的表单中获取错误 该表单在我的 root path 中呈现为部分内容 在我尝试发布它但失败 或成功 后 我想重定向回 root path 但是 redirect to 决定不保存任何验证信息 想知道如何做到这一点 class
  • Memcachier 达到缓存限制时 Heroku 请求超时

    我使用 Memcachier Dalli 作为客户端 将 Rails 应用程序部署到 Heroku 我正在使用免费插件 提供 25 MB 缓存 我们开始收到来自heroku的请求超时 经过调试 我们发现手动刷新Memcachier解决了问题
  • C# 写入文件的性能

    我的情况概述 我的任务是从文件中读取字符串 并将它们重新格式化为更有用的格式 重新格式化输入后 我必须将其写入输出文件 这是必须完成的操作的示例 文件行示例 ANO 2010 CPF 17834368168 YEARS 2010 2009
  • Rails 3 - “无法解析 Yaml”

    我不知道我做错了什么 我尝试运行 rails c 但它只是给了我一个错误 10 分钟前它还在工作 C Ruby192 lib ruby 1 9 1 psych rb 148 in parse couldn t parse YAML at l
  • 设备注册控制器获取零资源的自定义操作

    基本上我想要有两个单独的操作来更改密码和更改电子邮件 而不是只有一个 我已经更新了我的路由以指向继承自 Devise RegistrationsController 的新控制器 我的路线 rb devise for users contro
  • Twitter Bootstrap 中下拉链接的模态

    我正在尝试从下拉菜单中的链接进行模式启动 该模式似乎已启动 网站变为灰色 但看不到 来自不在下拉列表中的常规链接的模态工作得很好 我对 jquery 进行了愚弄 但由于我是 jquery 的新手 所以没有任何结果 这是我的网站代码
  • Ruby on Rails 3 - 为每个请求重新加载 lib 目录

    我正在为 Rails 3 应用程序创建一个新引擎 正如您所猜测的 该引擎位于我的应用程序的 lib 目录中 但是 我在开发它时遇到了一些问题 事实上 每次更改引擎中的某些内容时 我都需要重新启动服务器 有办法避免这种情况吗 我可以强制rai
  • Rails 3:使用 Simple_form 如何创建一个向specialities#create 发布帖子的表单?

    如何使用 Simple form 创建一个向specialities create 发布帖子的表单 我试过这个
  • Java:如何从转义的 URL 获取文件?

    我收到了一个定位本地文件的 URL 事实上我收到的 URL 不在我的控制范围内 URL 按照 RFC2396 中的定义进行有效转义 如何将其转换为 Java File 对象 有趣的是 URL getFile 方法返回一个字符串 而不是文件
  • 在 Web 应用程序中显示最新的提交值?

    我有一些 Rails 应用程序 我使用 Git 作为版本控制系统 我使用 GitHub 或 Beanstalk 作为存储库主机 从理论上讲 我想要做的事情非常简单 以某种方式在 Web 应用程序的页脚中显示最新的提交 ID 号 哈希值 这样
  • 如何在服务调用后检查 rspec 中的数组更改?

    目标很简单 例如我们有一个数组 name ghost state rejected name donkey state rejected 运行服务调用后UpdateAllUsers 这会将所有用户更改为 accepted name ghos
  • 在 ActiveAdmin 或打印解决方案中动态更改分页

    我是 Activeadmin 和 Rails 的新手 我需要一些帮助 我有一个分页模型 我想允许用户更改分页值或完全禁用它 这样它就可以打印 到打印机 所有记录 或过滤后的记录 我知道我可以在 before filter 中使用 per p
  • 为什么 Rails 中的区域设置充当全局(使用 Thin 时)?

    我刚刚意识到在控制器中设置区域设置的推荐 Rails 方法 before filter set locale def set locale I18n locale params locale I18n default locale end
  • 在文件复制/上传未完成时读取文件内容

    例如 每 5 秒 服务器检查文件是否已添加到特定目录 如果是 它会读取并处理它们 相关文件可能非常大 例如 100 Mo 因此将它们复制 上传到上述目录可能会很长 如果服务器尝试访问尚未完成复制 上传的文件怎么办 JAVA是如何管理这些并发
  • Rails - 安装 Spree 时出现问题

    我在 Rails 应用程序中安装 Spree 时遇到问题 当我运行 gem spree 时 按照说明http spreecommerce com documentation getting started html http spreeco
  • 创建一个默认为零的工厂关联?

    在factories rb 文件中使用FactoryGirl gem 如何创建一个关联默认为nil 的工厂 我正在思考以下几点 Factory define user do factory factory association post
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • rspec 中的模拟方法链

    有一系列方法可以获得user目的 我试图模拟以下内容以返回user in my Factory Girl current user AuthorizeApiRequest call request headers result 我可以模拟该

随机推荐

  • 在运行 iOS7 的设备上测试 iOS 6 应用程序

    我有一部 iPhone 4s 我的手机收到 iOS 7 更新 所以问题是 我可以在 iOS 7 设备上通过 Xcode 运行 iOS 6 应用程序吗 NOTE 我还没有 XCode 5 所以这就是我想了解如何在装有 iOS 7 的 iPho
  • 为什么 UIScrollView 添加对象后无法完全滚动?使用故事板、ARC 和 Xcode 4.5.2

    所以 我知道有与我类似的问题 但可能不准确 所以请不要标记我 只是警告我或其他什么 我已经搜索了几天来寻找这个简单问题的解决方案 使用故事板 ARC 和 Xcode 4 5 2 我只需要将一堆标签放入 UIScrollView 中并使其垂直
  • 在 Visual Studio 2008 中使用自定义安装程序时出现错误 1001

    我创建了一个简单的 winforms 应用程序和一个自定义安装程序 这一切看起来很简单 但我在事件日志中收到以下弹出窗口和错误详细信息 来自源 MsiInstaller 的事件 ID 11001 的描述无法 成立 引发此事件的组件未安装在
  • kafka.consumer.SimpleConsumer:由于套接字错误而重新连接:java.nio.channels.ClosedChannelException

    我正在为 kafka 运行一个简单的消费者 如下所示 int timeout 80000 int bufferSize 64 1024 consumer new SimpleConsumer host port timeout buffer
  • 如何序列化异步/等待?

    假设我有这个简单的片段 async void button Click object sender RoutedEventArgs e await Task Factory StartNew gt Console WriteLine sta
  • 与 Python 的代理连接

    我一直在尝试从 python 连接到 URL 我努力了 urllib2 urlib3 和请求 我在所有情况下都遇到同样的问题 一旦我得到答案 我想他们三个都会工作得很好 问题是通过代理连接 我已经输入了我们的代理信息 但没有得到任何快乐 我
  • 如何在 PHP 中对具有依赖关系的方法进行单元测试?

    我有一个带有一些逻辑的方法 但我不确定如何对其进行单元测试 因为它是针对此特定方法的单元测试 所以它应该在不连接到数据库的情况下运行 我读过有关存根和模型的内容 但我找不到将它们应用于这种情况的方法 我想强制 Client GetClien
  • kaminari 未定义方法 `total_pages'

    在使用 kaminari 时 我遇到了错误 Gemfile gem will paginate gt 3 0 6 gem will paginate bootstrap gem kaminari 列表控制器 rb def index if
  • 在变量声明中使用冒号[重复]

    这个问题在这里已经有答案了 最近有人问我这在 Python 中意味着什么 gt gt gt char str 我不知道 我检查了文档 没有类似的内容 一个建议是它是静态类型声明 但文档中也完全没有关于这一点的内容 有了上面的内容 如果我 g
  • 动态加载部分视图

    对于一个项目 我需要一种加载部分视图的动态方式 最好是通过 jquery ajax 这是我需要的功能 用户输入表单 将显示一个下拉列表 并使用一些输入控件呈现通用部分视图 用户在下拉列表中选择不同的值 局部视图刷新 根据下拉列表的值 它应该
  • 的内容在哪里' aria-label='getChildHtml('right') ?> 的内容在哪里'> getChildHtml('right') ?> 的内容在哪里

    我正在尝试重新组织我的右侧边栏 在模板 右2列 中 它调用 我在哪里可以找到这个变量的内容 对方法的调用getChildHtml 使用传递给方法的名称加载子块的 HTML 因此在本例中我们正在寻找名为的子块right 为了确定在哪里找到这个
  • asp.net“已达到网络 BIOS 命令限制”ASP.NET 2.0 + 3.5

    我正在尝试在 ASP NET 2 0 3 5 中运行 tinyMCE 文本编辑器 但我的 web config 文件中出现以下错误 加载配置文件时发生错误 无法开始监视对 Visual Studio 2005 WebSites TinyMC
  • 如何将 NSRect 更改为 CGRect?

    void drawRect NSRect rect imgRect orgin NSZeroPoint imgRect size appleImage size drawRect self bounds appleRect drawInRe
  • Fragment.onCreateView 具有空容器

    以下代码在 Android 1 6 上运行 因此我使用片段的兼容性包 在下面的TestFragment是一个静态嵌套类 public class FragmentTestActivity extends FragmentActivity O
  • 补丁请求 Android Volley

    我目前正在一个项目中使用 Android 的 Volley 网络库 我已经从以下位置拉下了凌空的主分支https android googlesource com platform frameworks volley 所以我的库项目应该是最
  • R .libPaths() RStudio 和命令行 R 之间的区别

    当我从命令行运行 R 时 gt library ggplot2 gt path package ggplot2 1 home yang R x86 64 pc linux gnu library 2 13 ggplot2 gt libPat
  • 为 iOS(iPhone 和 iPad)制作两个故事板

    是否可以只制作一个应用程序 并在其中制作两个故事板 一个用于 iPhone 一个用于 iPad 我不喜欢在 iPad 上运行应用程序并单击 2x 按钮的想法 我的想法是创建两个故事板 并有一个入门课程 该课程将检查您使用的设备是 iPhon
  • 如何使用 Python 和 Gracenote 识别音乐样本?

    我最近发现了GNSDK Gracenote SDK 似乎提供了多种编程语言的示例 通过指纹识别音乐样本 然后请求其音频数据库获取相应的艺术家和歌曲标题 但文档太糟糕了 如何使用 Python 和 GNSDK 执行音频样本文件的识别 提供的文
  • SBT 0.10 和 IDEA 初学者指南

    我是 SBT 新手 不确定如何开始项目 有人可以向我指出创建 Hello World 类型项目的初学者指南 或者给我一些线索吗 我首选的 IDE 是 IDEA 我跑了sbt idea根据说明IDEA 插件页面 目前我有点困惑 因为 没有创建
  • 从 Rails 返回文件

    初学者铁路问题 如何从 Rails 中的控制器返回文件 我熟悉返回 渲染 JSON 对象 但是我从未返回 渲染带有任意扩展名的文件 从阅读周围所以听起来像render nothing gt true有帮助 我只是在寻找一些指导或相关文档 您