单击下载文件 - Ruby on Rails

2024-04-01

我的应用程序使用 Rails 2 后端、Heroku 进行托管、Paperclip 进行文件上传、Amazon S3 进行文件存储。

现在用户可以使用回形针 + s3 上传文件 - 这可以完美地工作。上传后,仪表板上会出现一个图标,链接到文件位置(在 s3 存储桶中)。单击该图标时,浏览器会在新窗口中打开文件(对于大多数文件类型 - PDF、MP3、img 等)。我希望当用户单击文件图标(如 Gmail 附件)时自动下载该文件,而不是打开该文件。该解决方案应该能够适用于任何文件类型和跨浏览器。

Rails 中是否有帮助程序可以执行此操作,或者是否需要 javascript?我真的很坚持这一点,所以任何能为我指明正确方向的事情都将不胜感激。谢谢!


请尝试以下操作:

class Test < ActiveRecord::Base

  has_attached_file :testfile, 
    :storage => :s3,
    # All your S3 config
    :s3_headers => {"Content-Disposition" => "attachment"}

end

这应该告诉 Paperclip Gem 将新上传的文件的“Content-Disposition”标头设置为值“attachment”。

请注意,您必须手动编辑已上传的文件,例如使用 Cyber​​duck 或其他 FTP 客户端。

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

单击下载文件 - Ruby on Rails 的相关文章

  • 在 Rails 6 上定义 Secret_key_base 的正确方法是什么?

    正确的定义方式是什么secret key base既然我们已经有了每个环境的凭据 就可以在 Rails 6 上使用了吗 我的环境有变量SECRET KEY BASE但 Rails 并没有接受它 我尝试定义secret key base in
  • 我们能否知道回形针下载何时完成?

    我有一个应用程序 我需要知道用户的 Rails Paperclip 文件下载时间complete 我的应用程序设置为与 Amazon S3 交互 当用户收到完整的文件时 我需要运行 JavaScript 函数 我怎样才能做到这一点 跟踪天气
  • Rails 4 i18n,如何转换子域用于区域设置的路由

    我正在使用子域来确定 Rails 4 网站中的区域设置 我完全按照我想要的方式使用区域设置切换器 但现在我需要翻译路线 并且我不确定继续的最佳方法 我看过https github com kwi i18n routing https git
  • Rails 中的 PDF 导出

    我需要将包含一些图表的 HTML 页面导出为 PDF 有哪些好的 gem 可以做到这一点 PDFKit http railscasts com episodes 220 pdfkit http railscasts com episodes
  • 如何在 Rails 3.2.1 版本中注释 Rails 模型

    我正在尝试遵循一些在线教程来在 Rails 中注释我的模型 然而 似乎所有教程都在谈论过时的注释版本或不正确的安装 这真是一团糟 到目前为止我已经尝试过以下方法 1 在 Gemfile 中添加此内容 gem annotate 2 4 0 2
  • 多态控制器和调用对象

    我的地址具有多态关系 可以由成员或依赖者拥有 一切看起来都很棒 直到我意识到除非我遗漏了一些东西 否则我不知道创建它的对象是什么类型 有没有办法告诉路由文件包含对象的类型 Models class Member lt ActiveRecor
  • 从 Ruby 中的 DateTime 变量获取时间

    我在 ruby 中工作 我有一个包含数据库中今天的日期时间的对象 我只想要时间截断数据 我怎样才能得到那个 Try 日期时间 strftime http www ruby doc org stdlib 1 9 3 libdoc date r
  • 使用 Ajax 在输入时提交 Textarea,然后渲染部分内容而不刷新整个页面

    目前我正在尝试通过 JS 和 Ajax 在没有提交按钮的情况下发表评论 并且它有效 问题是当帖子提交时 页面重新加载到 post id comment页面 我希望它呈现部分内容 而不是刷新整个页面或将我带到不同的页面 我对 JS 不熟悉 任
  • Capistrano 和 XSendFile 配置

    我正在尝试使用 Apache 2 2 Passenger 4 0 59 和 XSendFile 0 12 配置 Rails 生产服务器 应用程序通过 Capistrano 部署 部署的应用程序生成 可能很大 PDF Rails root t
  • Ruby on Rails REST 设计问题 - 在账户之间转账

    我有一个 Account 类 想要实现转账屏幕以允许用户在 2 个账户之间转账 我将如何实现这种 RESTful 方式 我有标准帐户和休息操作 那很好 但我该如何实现转移呢 通常我只会向帐户控制器和相应的视图添加一个名为 transfer
  • 在 ec2 上托管 Rails

    我想将 Rails 部署到亚马逊 ec2 上 我看过 poolparty 和 ec2onrails 但似乎都不再维护了 人们用什么来做到这一点 都是自制的木偶和卡皮斯特拉诺 还是有一个项目可以让我继续下去 我可以推荐两个项目 如果您有一个
  • 如何在 Rails 4 中使用 params.require

    我有一个像这样的私有方法 用于有四个字段的注册表单 firstname email password and confirm password 我不知道如何检查password confirmation def user params pa
  • Rails 4:资产未在生产中加载

    我正在尝试将我的应用程序投入生产 但图像和 CSS 资源路径不起作用 这是我目前正在做的事情 图像资源位于 app assets images image jpg 样式表位于 app assets stylesheets style css
  • Heroku 部署错误

    在 Windows 环境中 尝试部署到 Heroku 时出现以下错误 C Ruby lib ruby gems 1 8 gems heroku 1 9 13 lib heroku commands base rb 32 in 没有这样的文件
  • Rails、REST 架构和 HTML 5:带有预检请求的跨域请求

    在致力于使我们的网站 HTML 5 友好的项目时 我们渴望采用跨域请求的新方法 不再通过隐藏的 iframe 发布 使用访问控制 http www w3 org TR access control 根据规范 我们开始设置一些测试来验证各种浏
  • Rails/Nginx 中的超时——最佳实践

    我正在开发一个应该在 Nginx 服务器上运行的 Rails 应用程序 根据输入 应用程序可能需要很长时间来处理请求 或者在出现错误时挂起 因此我想防止进程永远运行 除了确保客户端收到超时信号的 Nginx 配置之外 我想我可能仍然需要确保
  • 下载进度条在 iOS 企业发行版中没有改变进度

    我正在通过企业分发开发和分发 iPad 应用程序 它们下载并执行良好 因此一切正常 Web 链接 ipa 文件 plist 文件 配置 问题 是 当用户单击链接进行下载时 iPad 中显示下载进度的进度条显示 正在等待 但却是空的并且永远不
  • Rails:named_scope、lambda 和块

    我认为以下两个是等效的 named scope admin lambda company id conditions gt company id company id named scope admin lambda do company
  • 为什么我收到“未定义的方法`assert_valid_keys`”?

    知道为什么我会收到此错误 Exception encountered
  • 将rails_admin 与rails_api 结合使用

    我最初将此发布为Rails api GitHub 上的问题 https github com sferik rails admin issues 2617 但由于不活跃 我现在将其发布在这里 我正在尝试使用rails admin使用 Rai

随机推荐

  • 统一码正则表达式;无效的 XML 字符

    有效的 XML 字符列表是众所周知的 正如规范所定义的 x9 xA xD x20 xD7FF xE000 xFFFD x10000 x10FFFF 我的问题是是否可以通过使用 Unicode 通用类别来为此 或其逆 创建 PCRE 正则表达
  • 让mysql忽略where条件

    如果未设置变量 是否可以使 mysql 忽略条件 例如 SELECT FROM foo WHERE id id AND bar baz 如果 baz 设置为正常运行查询 否则运行减去 AND 子句的查询 Thanks SELECT FROM
  • 将数据分割或子集为 30 分钟的间隔

    我有以下形式的数据框 Temp Depth Light x time date time at depth 104 18 59 2 7 27 21 38 2012 06 20 4 109 18 59 2 7 27 22 02 2012 06
  • 如何使用google api抓取数据

    import requests def search query pages 4 rsz 8 url https ajax googleapis com ajax services search web params v 1 0 Versi
  • 如何使用php下载rar文件

    我编写了下载 rar 文件的代码 它工作正常 但是 name file rar data file get contents file rar fh fopen name w or die can t open file fwrite fh
  • 从 Materialise CSS 芯片获取数据

    我需要从 Materialise CSS 获取数据chips https materializecss com chips html 但我不知道 如何 chips placeholder material chip placeholder
  • asp.net webforms 和 jquery:如何在回发之间保存/恢复 jquery 状态?

    我正在构建一个 asp net webforms 3 5 sp1 应用程序 使用 jquery 可以对 UI 进行动画处理 更改其状态 在我开始进行回发之前 它一直工作得很好 其中 UI 显然将自身重置为初始状态 所以我的问题是 在回发之间
  • 以编程方式更改 Sustainsys.Saml2 HttpModule 配置

    我有一个遗留的 Web Forms ASP Net 项目 我刚刚成功集成了该项目Sustainsys Saml2 https saml2 sustainsys com en stable index html 我想知道如何以编程方式进行配置
  • 翻转 Quicktime 预览和捕获

    我需要水平翻转我正在预览和捕获的一些视频 A la iChat 我有一个网络摄像头 希望它看起来就像用户正在照镜子一样 我正在预览 Quicktime 视频QTCaptureView 我的捕获是逐帧完成的 出于我不会详细介绍的原因 如下所示
  • 在 JavaScript 中搜索数组

    我需要对数据集进行排序 如您所见 我已将其分配给记录变量 根据该数据 我需要查看邮政编码是否存在 如果邮政编码不存在 那么我需要将其移动到数组中 当然会有重复项 并继续检查其余记录 如果它确实存在 我不需要执行任何操作 Declare Ar
  • 在主 Django 数据库上运行 Unittest

    我正在寻找一种在 django 测试期间运行完整 celery 设置的方法 在此询问其他问题 https stackoverflow com questions 20638751 run a celery worker that conne
  • AngularJS + Phantom 的开放图问题

    我正在运行一个设置AngularJS http angularjs orgAJAX 应用程序 并使用PhantomJS http phantomjs org 和Angular seo https github com steeve angu
  • MediaRecorder.stop() 不会清除选项卡中的录制图标

    我启动和停止 MediaRecorder 流 红色 录制 图标会在启动时出现在 Chrome 选项卡中 但在停止时不会消失 图标如下所示 我的代码如下所示 const mediaRecorder new MediaRecorder stre
  • StringTemplate 和 FreeMarker 之间的主要区别是什么?

    网上似乎充满了 Velocity 和 FreeMarker 之间的比较 而且它们似乎相当等效 但StringTemplate和FreeMarker之间似乎几乎没有可比性 那么 StringTemplate 和 FreeMarker 之间的主
  • Visual Studio Code 和 Jinja 模板

    我有一段时间使用 VS code 和一些扩展 当我使用 Flask 时 一切都很完美 Prettier 将所有 Flask 代码粘合在一起 并且智能感知不适用于 Flask 代码 extends layout html block styl
  • Pandas 从多索引级别获取所有值

    给定以下数据透视表 df pd DataFrame A a a a a a b b b b B x y z x y z x y z C a b a b a b a b a D 7 5 3 4 1 6 5 3 1 table pd pivot
  • 除了 excel.php 配置文件之外,如何更改 Laravel 5.2 的 maatwebsite 的 laravel excel 包 2.0.8 的 startRow ?

    我正在尝试使用 maatwebsite 的 laravel excel 包 2 0 8 for Laravel 5 2 导入 excel 文件 我希望能够更改控制器内的 startRow 而不是配置内的 startRow 这样它就不会影响每
  • Java中如何在两个包之间共享包私有数据?

    我有 2 个 Java 包 A 和 B 假设包 B 中的某些类想要使用包 A 中的某些类 但是 当开发人员出现并开发包 C 或者说应用程序 C 时 他 她将使用我的包 B 但我do not希望他 她能够使用 B 正在使用的 A 中的类 也就
  • 在 Windows bat 文件中运行另一个程序并且不创建子进程

    我有一个带有提交后挂钩的颠覆服务器来执行某些操作 我希望签入尽快完成 而不是等待挂钩脚本 但根据设计 Subversion 提交后挂钩脚本将运行直到所有child进程退出 因此使用类似 启动另一个程序 在hook bat文件中没有用 所以我
  • 单击下载文件 - Ruby on Rails

    我的应用程序使用 Rails 2 后端 Heroku 进行托管 Paperclip 进行文件上传 Amazon S3 进行文件存储 现在用户可以使用回形针 s3 上传文件 这可以完美地工作 上传后 仪表板上会出现一个图标 链接到文件位置 在