Html rails:emulate";将页面另存为";行为
对于rails项目,我需要向用户提供可下载的HTML版本的统计页面。我创建了一个控制器操作,该操作将如下设置标题,然后呈现并返回我的普通html页面:Html rails:emulate";将页面另存为";行为,html,ruby-on-rails,download,types,Html,Ruby On Rails,Download,Types,对于rails项目,我需要向用户提供可下载的HTML版本的统计页面。我创建了一个控制器操作,该操作将如下设置标题,然后呈现并返回我的普通html页面: headers["Content-Type"] ||= 'application/x-unknown' headers["Content-Disposition"] = "attachment; filename=\"#{filename}\"" 这将使浏览器弹出“下载”对话框,而不是立即呈现所需的html。但是,这只给了我一个空白的HTML
headers["Content-Type"] ||= 'application/x-unknown'
headers["Content-Disposition"] = "attachment; filename=\"#{filename}\""
这将使浏览器弹出“下载”对话框,而不是立即呈现所需的html。但是,这只给了我一个空白的HTML,没有任何图像或CSS嵌入。
我想做的基本上与浏览器在点击“另存页面为”菜单项时所做的相同(甚至可能将图像、css和html文件压缩成压缩文件并返回)
正确的方法是什么?是否有方法调用带有标题设置的浏览器“另存页面为”对话框
问候,
Sebastian能否尝试将HTTP内容类型设置为“应用程序/八位字节流”,并告诉我这是否有帮助?以下是一个可能有效的过程
- 给dir一个绝对唯一的名称(可能使用时间戳)李>
- 您可以将呈现的HTML文件放在目录根中,将资产放在
子目录中assets
- 您需要修改HTML文件中的所有资产项URI,以指向
dir中的项目,而不是其通常的位置。例如:assets
send_file'/path/to.zip'
send_data(render, :filename => "filename.ext")
不,这与“application/x-unknown”没有什么不同