现在我正在使用Amazon S3和Paperclip,它允许我的用户上传与他们正在创建的事件相关联的图像.我的最终目标是,因为其他人可以查看此事件,以便能够点击图像并让它提示保存到他们的计算机.截至目前,单击该链接将在浏览器窗口中打开图像.我宁愿让它要求他们下载.所有图像仅保存在S3上,而不是本地.如果可能,也需要隐藏暴露的s3网址或伪装它
这是我目前的设置
的index.html
<%= link_to 'Download Creative', event.creative.url, class: "btn btn-info" %>
Run Code Online (Sandbox Code Playgroud)
Event.rb
has_attached_file :creative,
:styles => { :thumb => "150x150", :custcreative => "250x75" },
:path => ":attachment/:id/:style.:extension",
:s3_domain_url => "******.s3.amazonaws.com",
:storage => :s3,
:s3_credentials => Rails.root.join("config/s3.yml"),
:bucket => '*****',
:s3_permissions => :public_read,
:s3_protocol => "http",
:convert_options => { :all => "-auto-orient" },
:encode => 'utf8'
Run Code Online (Sandbox Code Playgroud)
希望有人可以帮助我.
在我的应用程序中,我有一个要求让我感到难过.
我有一个存储在S3中的文件,当用户点击我的应用程序中的链接时,我登录他们点击链接的数据库,将他们的"下载信用"限额减少一个,然后我想提示该文件下载.
我不只是想将用户重定向到该文件,因为它存储在S3中,我不希望它们具有源文件的链接(这样我可以保持完整性和访问权限)
看起来send_file()不能使用远程源文件,任何人都推荐宝石或合适的代码来执行此操作?