Ruby on Rails 4破坏了PDF文件

时间:2013-11-03 23:58:16

标签: ruby-on-rails nginx unicorn

我最近将Rails 2.3应用程序升级到Rails 4.该应用程序的一个功能是上传PDF文件,然后将其存储在数据库中。也可以下载这些PDF。但是,PDF查看器无法显示某些(约20%)下载的PDF文件(“PDF文档已损坏”)。奇怪的是,我可以使用Rails 2.3从同一个数据库下载相同的PDF,一切都很好。这使我假设数据库中的PDF没有损坏,但是当Rails 4提供它们时会出现问题。

这是发送PDF文件的相应代码:

def show_pdf_document
  send_data @files.pdf.binary_data, :filename => @files.pdf.filename, :type =>@files.pdf.filetype
end

这可能是编码问题吗?

更新:问题似乎与Rails 4没有直接关系。我有一个Unicorn / nginx设置。当我直接连接到Unicorn工作者时,它可以毫无问题地工作。它的nginx似乎破坏了PDF。

1 个答案:

答案 0 :(得分:0)

这个问题与Unicorn和Nginx有关。但是,我没有找到问题的确切来源。在这种情况下,最实用的解决方案是用Passenger / Nginx替换Unicorn / Nginx。现在就像一个魅力。