是否可以为用户提供指向服务器上文件的符号临时链接?
示例:我想将我的音乐专辑提供给用户。如果他付钱给我,我会即时生成一个临时符号链接到服务器端的实际链接并发送给他。这是一种常见的做法吗?
是的。这是非常普遍的做法。
这些类似于用于密码重置或密码恢复的 URL。
本质上是一个长的随机字符串,存储在您的数据库中,根据您的政策,有效期为 1 小时、1 天或 1 周。
在数据库中,随机字符串映射到用户、文件等。
如果 URL 被访问,则查找 db,更新访问时间,并传输文件。通过存储访问时间和传输成功状态,您甚至可以防止使用相同的 URL 多次下载。
如果您将 AWS 用于您的文件,您将在音乐专辑对象上使用 url_for,生成具有到期时间的 url,并将其提供给用户 - http://docs.amazonwebservices.com/AWSRubySDK/latest/AWS/S3 /S3Object.html#url_for-instance_method