0

场景:客户来到我的网站并购买了视频。我生成了一个重复的流媒体 URL,它可以工作一个小时,这样他就可以下载视频,然后 URL 链接会自动过期。

应用程序框架:Rails 3.1
托管环境 EC2。

4

3 回答 3

2

选项:

  1. 在服务器端的特殊目录中将视频创建为文件并直接链接到该文件。一个小时后删除这个临时文件。这可能不是一个很好的选择,例如因为您需要一个文件的重复副本。

  2. 当用户请求视频时,创建一个随机数(或哈希)并将该数字与请求的文件和当前时间一起存储在数据库中。当用户访问下载链接(例如http://page.com/download/some8374random1278hash)时,检查他要求的哈希是否存在于数据库中,以及它的创建时间是否不超过一个小时前。如果这是真的,则将请求文件的文件内容返回给客户的浏览器。

于 2011-11-27T00:46:44.827 回答
0

Amazon S3 支持创建具有过期时间的经过身份验证的 URL。您可以将视频保留在 S3(非公开)上,然后在购买时生成经过身份验证的过期 URL。

这样做的一个好处是您的 Web 服务器不必处理文件的所有下载。Amazon S3 以与您为从 EC2 实例提供服务所支付的相同网络传输速率来处理此问题。

您的 EC2 实例和 S3 之间的数据传输是免费的。

于 2011-11-28T21:26:38.660 回答
0

集成 Dropbox API 怎么样?共享文件夹(包含购买的文件)并在一段时间后撤销共享权限。

于 2011-12-03T08:14:35.203 回答