来自s3的代理pdf并将其呈现为内联

时间:2015-08-17 09:07:11

标签: ruby-on-rails ruby amazon-s3 proxy dragonfly-gem

我使用dragonfly来处理我的附件,使用s3来存储资产。

我知道我可以直接从s3服务,但我的客户已经锁定了互联网访问,因此无法访问它们。所以我需要做的是通过我的域代理图像。

data = open(@training_doc.upload.remote_url).read
send_data data, :filename => @training_doc.upload.name

这就是我所拥有的,但它不允许我将其内联呈现(在标签中为自己),而是下载它并不理想。

我知道我可以这样做以使其内联,但这不是代理

    redirect_to @training_doc.upload.remote_url(:expires => 2.hours.from_now, :query => {'response-content-disposition' => 'inline'})

我知道在rails中你可以使用send_file,但只有在普通文件系统中才能使用它

他们是否有其他方法/方法来实现这一目标?

1 个答案:

答案 0 :(得分:2)

send_data方法有一个disposition选项,可以设置为inline

data = open(@training_doc.upload.remote_url).read
send_data(data, 
  :filename    => @training_doc.upload.name,
  :type        => 'application/pdf',
  :disposition => 'inline'
)