1
我最近将Rails 2.3应用程序升级到Rails 4.该应用程序的一个功能是上传PDF文件,然后将其存储在数据库中。也可以下载这些PDF文件。但是,PDF阅读器无法显示一些(约20%)下载的PDF文件(“PDF文档已损坏”)。奇怪的是,我可以使用Rails 2.3从同一个数据库下载相同的PDF文件,并且一切正常。这导致我假设数据库中的PDF文件没有被破坏,但是当Rails 4提供这些文件时会出现问题。Ruby on Rails 4破坏PDF文件
这是发送PDF文件的相应代码:
def show_pdf_document
send_data @files.pdf.binary_data, :filename => @files.pdf.filename, :type =>@files.pdf.filetype
end
也许它是一个编码的问题?
更新:问题似乎没有直接关系到Rails 4.我有一个独角兽/ nginx设置。当我直接连接到独角兽工作者,它没有任何问题。这似乎是破坏PDF文件的nginx。
什么操作系统? 'filetype'字段中有什么? – Gene
数据库是在Ubuntu 10.04上运行的Postgresql以及Rails系统。 Filetype字段是“application/pdf” – Albert
谢谢。 PostgreSQL中字段'binary_data'的类型是什么?什么是语言环境?这比'send_data'更可能是数据库连接问题。如果该字段是“文本”而不是“字节”,则表示拥有它。 – Gene