我使用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,但只有在普通文件系统中才能使用它
他们是否有其他方法/方法来实现这一目标?
答案 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'
)