你知道,在YouTube上,一旦你上传了一段视频,它会要求你将其设置为公开或私人的。任何人都可以访问它的公共存在。只有你才能访问私有的原始上传程序,你也必须登录才能做到这一点。我需要做一些类似的东西。我正在制作一个rails应用程序,它使用QuickTime渐进式下载而不是闪存,所以基本上我使用了一个带有src的embed标签,指向一些dns/video.mov。但我不能让这些视频公开。我在你头上能有什么选择?
发布于 2009-10-02 08:56:03
在用户登录时创建会话cookie。这个cookie通常包含某种类型的会话ID (一个长字符串)。将该ID作为查询(.../video.mov?ID=2387543462578)附加到电影的URL。
这样,您的服务器就可以根据当前打开的会话检查ID。如果ID无效,则回复403 (禁止)。
编辑由于您将文件放入Rails_root/public/videos,Ruby会自动为您处理下载到浏览器中的操作。这是放置在public文件夹中的任何文件的默认行为。您需要的是将文件放在不同的位置,并手动处理下载。查看Ruby源代码并查找public文件夹的处理程序;这应该会让您了解它在幕后是如何工作的。您应该能够使用一些额外的代码来扩展这个类,以检查用户是否可以实际下载文件。
https://stackoverflow.com/questions/1508394
复制相似问题