0

我必须提供一些文件供用户直接下载。但如果它们是一些常见的类型(如 .mp3、.pdf),客户端浏览器通常会尝试直接显示它们。这不是隐含的行为。我需要一些不会显示文件但会打开“另存为”对话窗口的辅助方法。

就像是

= link_to_save_as "Download file", @resource.url

Rails 中有现成的辅助方法吗?

如果没有,是否有一些宝石提供该功能?

如果没有,是否可以自己实现(如果浏览器不禁止这样做,不知何故)?

4

1 回答 1

2

您可能希望查看添加send_file到控制器操作。请参阅此处的文档

大概是这样的:

def download_file(filename)
  # You obviously need some restrictions on what can be requested 

  send_file '/path/to.mp3', :disposition => 'attachment'
end
于 2013-06-10T15:07:16.650 回答