ruby-on-rails - 使用 rails send_data 发送 PDF

标签 ruby-on-rails ruby redmine

我使用 ruby​​ 1.9.3 和 redmine 1.4.4

据此-> Please help me send a jpg file using send_data ,我在 Controller 中这样做:

  @file = temp.path
  File.open(@file, 'r') do |f|
    send_data f.read, :filename => "myfile.pdf", :type => "application/pdf", :disposition => "attachment"
  end
  File.delete(@file)

但它返回ArgumentError(UTF-8 中的无效字节序列),为什么?

最佳答案

PDF文件必须被编码

 file = temp.path
 File.open(file, 'r') do |f|
   send_data f.read.force_encoding('BINARY'), :filename => filename, :type => "application/pdf", :disposition => "attachment"
 end
 File.delete(file)

关于ruby-on-rails - 使用 rails send_data 发送 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23083983/

相关文章:

ruby-on-rails - 如何预先加载嵌套的多态关联

ruby - MongoMapper:查找在指定日期创建的所有文档

ruby-on-rails - Redmine 插件 - 每次代码更改后都需要重新启动

email - Redmine 通过电子邮件打开问题。附件丢失

ruby-on-rails - underscore在ruby中的pick方法

ruby-on-rails - 是否可以使用rails 将PDF 转换为Word?

arrays - 对复杂的 ruby​​ 哈希进行排序工作正常,但无法逆转,我该怎么办?

ruby - 将嵌套哈希数组减少为键/值对的扁平数组

email - redmine:如果用户未输入时间,则发送警报

ruby-on-rails - rails 4 : Google Maps not displaying