我正在使用Carrierwave
将文件上传到我的应用。我还使用Fog
gem将我的文件存储在S3
上,最重要的是,我正在CloudFront
为我内容中的所有内容创建一个分发。
我有几个问题......
response-content-disposition
。它似乎是(看一些例子),这已经可以用Fog或Carrierwave完成......但是当我尝试传入url(20, :query => { "response-content-disposition" => "xyz" })
时,就像文档说的那样(20是过期时间),它表明它只是期待一个论点。所以我的问题是,如何设置URL的过期时间? 在我找不到任何内容后,我尝试了authenticated_url
,它只需要1个参数,并将过期时间设为10分钟。我确定我可以在配置中全局设置,但我不知道为什么我不能在每个链接上设置它?
这是我到目前为止的代码:
def download_link(download)
file = download.filename.file
filename = file.filename
extension = file.extension
options = {
:query => {
"response-content-type" => download_content_type(extension),
"response-content-disposition" => "attachment; filename=#{filename}"
}
}
file.authenticated_url(options)
end
答案 0 :(得分:1)
我想也许我上面回答了,但为了答案而不是评论:
感谢。