Rails rails 如何做动态限时下载链接呢?

icemark · April 30, 2012 · Last by anylei replied at April 30, 2012 · 3279 hits

有些收费的下载链接需要动态链接,而且限时,过期就不能下载 有 gem 支持吗?

或者大家有较好的设计方案呢?

数据库里面存 token 和过期时间,action 中检查,通过则 send_file send_data,不通过则返回 forbidden

恩,谢谢反馈,我自己也是这么想的,如果没有更好的方法就用这种

直接 send 这会很悲剧吧。

面向独立用户的我做过是这样的:先根据客户端特征及预设过期时间拼出带 token 的“下载链接”(具体的规则我忘记了,那时候用的还是.NET,- -),请求时效验合法则跳转到真实下载地址。另外为了真实地址永久有效会有一个机制,隔一段时间双向更新真实地址。这样 web server 只做验证,其他 server 只做下载。

这方法不一定适用,毕竟要看需求。

#3 楼 @anylei http://apidock.com/rails/ActionController/Streaming/send_file 现在应该会自动用 X-sendfile 了,由静态服务器处理文件发送。我还没试过

#4 楼 @Rei 确实,这样就省事多了。

You need to Sign in before reply, if you don't have an account, please Sign up first.