Send_file下载和内联

时间:2014-03-03 09:02:29

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

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

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

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

欢迎其他解决方案:)

1 个答案:

答案 0 :(得分:0)

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

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