我有一个运行nginx的Rails 4.1.0应用程序,托管在Engineyard上。我对send_file方法(也尝试过send_data)和pdf文件有一些令人费解的问题。
设置:
在我的控制器中:
send_file path, type: asset_content_type, disposition: 'inline', filename: filename
我已经使用logger确认上述行中的所有变量都是正确的。我在相关环境的配置中取消注释了这一行:
config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
这是模型上的回形针设置:
class Asset < ActiveRecord::Base
belongs_to :attachable, polymorphic: true
has_attached_file :asset,
styles: lambda { |i| i.instance.attachable_styles },
path: ':rails_root/private/system/:attachment/:id_partition/:style/:filename',
url: '/files/:id/disposition/:style/:hash.:extension',
preserve_files: true
validates_attachment_content_type :asset, :content_type => /.*/
症状:
也许它是一个我忽略的nginx配置问题?
编辑:pdf的东西是红鲱鱼。似乎所有大文件都只是部分发送。答案 0 :(得分:0)
现在它有效。