我的应用程序使用 Rails 2 后端、Heroku 进行托管、Paperclip 进行文件上传、Amazon S3 进行文件存储。
现在用户可以使用回形针 + s3 上传文件 - 这可以完美地工作。上传后,仪表板上会出现一个图标,链接到文件位置(在 s3 存储桶中)。单击该图标时,浏览器会在新窗口中打开文件(对于大多数文件类型 - PDF、MP3、img 等)。我希望当用户单击文件图标(如 Gmail 附件)时自动下载该文件,而不是打开该文件。该解决方案应该能够适用于任何文件类型和跨浏览器。
Rails 中是否有帮助程序可以执行此操作,或者是否需要 javascript?我真的很坚持这一点,所以任何能为我指明正确方向的事情都将不胜感激。谢谢!
请尝试以下操作:
class Test < ActiveRecord::Base
has_attached_file :testfile,
:storage => :s3,
# All your S3 config
:s3_headers => {"Content-Disposition" => "attachment"}
end
这应该告诉 Paperclip Gem 将新上传的文件的“Content-Disposition”标头设置为值“attachment”。
请注意,您必须手动编辑已上传的文件,例如使用 Cyberduck 或其他 FTP 客户端。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)