防止文件下载,RoR

时间:2010-02-13 09:00:07

标签: ruby-on-rails

我正在使用Ruby on rails,我有我不希望用户下载的视频。

我在哪里存储视频?从文件夹“公共”的名称可能这是一个非常愚蠢的问题,但是这是一个存储视频的好地方吗?

3 个答案:

答案 0 :(得分:2)

用户可以下载他们可以看到的任何内容。如果您不希望任何人访问这些视频,请不要将它们放在网上。

也许我不明白你的问题;如果是的话,请澄清。

答案 1 :(得分:2)

上传文件时,将文件存储在公共目录以外的某个位置,例如downloads,然后您可以使用控制器操作将文件发送给用户:

def download
  send_file '/home/apps/myapp/downloads/video.mp4' 
end

通过这种方式,您可以使用过滤器对用户进行身份验证,并且该文件将无法公开提供。

进一步阅读:http://www.therailsway.com/2009/2/22/file-downloads-done-right

答案 2 :(得分:1)

只需删除右键单击"保存"来自html5视频的选项

$(document).ready(function(){
  $('video').bind('contextmenu',function() { return false; });
});