您知道在 YouTube 上,一旦您上传了视频,它会要求您将其设为公开或私有。任何人都可以访问它。私人只能由原始上传者访问,并且您也必须登录才能这样做。我需要做一些类似的东西。我正在制作一个使用 QuickTime 渐进式下载而不是 Flash 的 rails 应用程序,所以基本上我使用了一个嵌入标签,其中 src 指向一些 dns/video.mov。但我不可能让这些视频出现在公共领域。什么是我的选择?
问问题
159 次
1 回答
0
当用户登录时创建一个会话 cookie。这个 cookie 通常包含某种会话 ID(一个长字符串)。将该 ID 作为查询 ( .../video.mov?ID=2387543462578
) 附加到电影的 URL。
这样,您的服务器可以根据当前打开的会话检查 ID。如果 ID 无效,请回复 403(禁止)。
[编辑] 由于您将文件放入Rails_root/public/videos
,Ruby 会自动为您处理下载到浏览器。这是放在public
文件夹中的任何文件的默认行为。您需要将文件放在不同的位置并手动处理下载。检查 Ruby 源代码并查找public
文件夹的处理程序;这应该让您了解它是如何在引擎盖下工作的。您应该能够使用一些附加代码来扩展此类,以检查用户是否可以实际下载文件。
于 2009-10-02T08:56:02.893 回答