send_file返回值

时间:2012-11-02 01:41:45

标签: ruby-on-rails ruby-on-rails-3

Rails中的send_file方法是否给出了返回值?如果发送成功,我想做一件事,如果发送成功,我想做另一件事。我查看了this link处的文档,但没有发现任何相关内容。

1 个答案:

答案 0 :(得分:2)

不,无法使用send_file确认下载完成或成功。从这个问题:Can we find out when a Paperclip download is complete?

  

send_file创建文件,然后传递一个特殊的标题来告诉   网络服务器告诉它要发送什么。 Rails实际上并没有发送   文件根本就设置了这个标题,告诉网络服务器发送   文件,但然后立即返回,然后继续服务另一个   请求。为了能够跟踪下载是否完成,您必须   占用你的Rails应用程序进程发送文件并阻塞直到   用户下载它,而不是将其留给网络服务器(其中   是它的设计目的)。这是非常低效的。

您可以在客户端上使用Cookie和JavaScript执行某些操作。 请参阅此问题:Rails File Download And View Update - Howto?