【问题标题】:Setting the filename for a pdf using prawn-rails in rails 4.0 doesn't work in IE11在 Rails 4.0 中使用 prawn-rails 设置 pdf 的文件名在 IE11 中不起作用
【发布时间】:2015-08-17 02:35:07
【问题描述】:

我正在使用 prawn-rails gem 生成 pdf,并通过覆盖控制器中的 @filename 变量来设置文件名,例如:

respond_to do |format|
  format.pdf do
    @filename = "NewReportName.pdf"
    render 'report'
  end
end

然后我使用以下视图生成 pdf:

data_rows = [@report.fields.map{|f| f.titleize }]

@report.results.each do |result|
  data_rows << @report.fields.map{|k| result.send(k) }
end

prawn_document() do |pdf|
  pdf.table(data_rows)
end

pdf 生成适用于我测试过的所有浏览器,但是当您在 IE11 中保存 pdf 时,它将文件名设置为操作名称,而不是 @filename 变量中指定的名称。

我已经在 git repo 上为 prawn-rails gem 发表了评论,但我想知道这里是否有人可以提供帮助。提前致谢。

【问题讨论】:

  • 您可以明确设置它。 render 'report', disposition: 'attachment', filename: @filename... 不是 100% 确定语法,但您明白了...
  • 我尝试在控制器中设置标题,但这并没有解决问题。例如:response.headers['Content-Disposition'] = "attachment; filename=\"NewReportName.pdf\""

标签: ruby-on-rails ruby internet-explorer pdf prawn


【解决方案1】:

可以使用prawnto设置文件名

format.pdf do
  @filename = "NewReportName.pdf"
  prawnto :filename=>@filename
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-27
    • 2011-05-20
    • 1970-01-01
    • 2011-08-08
    相关资源
    最近更新 更多