【问题标题】:Resuming File Downloads in Ruby on Rails在 Ruby on Rails 中恢复文件下载
【发布时间】:2010-05-19 06:29:24
【问题描述】:

终于知道怎么实现了!

原来它就像启用 xsendfile 和设置 header 参数 Accept-Range 一样简单

在下面阅读我的答案

(顺便说一句,在下面的块引用中,我写了一个常见的陷阱新手 - 就像我一样 - 做的。我们倾向于认为它应该是手动编程的)

URL 必须类似于: mysite.com/get_file?file_point=100 -> 这将从字节 100 读取

  1. 从参数(本例中为file_point参数)获取偏移量
  2. 找出文件的大小 (File.size)
  3. 从偏移到长度读取文件(相当于PHP中的fseek)
  4. 使用 send_file 发送文件

我不知道如何在 Ruby 中执行第 3 步 在上面的步骤中。

【问题讨论】:

    标签: ruby-on-rails file download resume-download


    【解决方案1】:

    我就是这样做的:

    response.header["Accept-Ranges"] = "bytes"
    send_file product.pack.path, :type => product.pack_content_type, :x_sendfile=>true
    

    我让服务员设置了mod_xsendfile,我自己不知道怎么设置。

    教程在这里:http://www.devsource.com/c/a/Techniques/Resumable-File-Downloads-with-ASPNet/2/

    在此处了解内容长度:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13

    关于流媒体可以在这里找到:http://api.rubyonrails.org/classes/ActionController/Streaming.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-11
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      • 2011-06-24
      • 1970-01-01
      • 2011-01-12
      相关资源
      最近更新 更多