【问题标题】:Send_file download and inlinesend_file 下载和内联
【发布时间】:2014-03-03 09:02:28
【问题描述】:

我正在使用 prawn 生成我的 pdf 文件,我想做的是在浏览器窗口中显示它们,同时将它们下载到 文件系统。 p>

我已经读过这个 - Rails, Prawn - PDF show up in browser & etc - 但这不是我想要的,因为使用 Prawn render_file 会导致将 pdf 文件保存在项目文件夹中,而我希望将文档保存在用户文件系统,显然在用户选择的下载文件夹中(可以使用 Rails send_filesend_data 完成)。

所以我在寻找是否可以同时使用send_file 来下载文件并在浏览器窗口中显示它,但我没有找到任何东西。

欢迎其他解决方案:)

【问题讨论】:

标签: ruby-on-rails pdf ruby-on-rails-4 prawn


【解决方案1】:

主要问题是您需要两个单独的请求来执行此操作。一个可能的解决方案可能是您在浏览器 iframe 中呈现内联 PDF,同时启动一个 javascript 请求,服务器使用 send_filesend_data 响应该请求。用户只需单击一次,但向服务器发出了两个请求,一个将文件呈现为下载,另一个将其作为内联文件发送。

我能想到的唯一警告是,不支持 PDF 文件内联呈现的浏览器会开始下载 PDF 两次。您必须找到某种方法来检查这一点。

【讨论】:

  • 我明白了。感谢您的解释和想法。我会试一试 :) 如果它适合考虑接受您的答案。
  • 哦,对于浏览器不支持pdf内联渲染的问题,在这种情况下应该没有问题,因为它是一个专用于一个人的应用程序,所以我可以检查他是否有合适的浏览器。在其他情况下,我必须找到更好的解决方案
  • 我最终制作了 2 个不同的按钮:一个用于下载,另一个用于内联呈现文档。 :) 感谢您的解释
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-26
  • 2021-07-04
  • 2012-08-29
  • 2017-03-01
  • 2018-07-15
  • 1970-01-01
  • 2017-06-24
相关资源
最近更新 更多