【发布时间】:2014-06-29 03:51:32
【问题描述】:
我一直在使用 Rails 服务器,当我在其他地方时,我可以使用它来访问存储在我的公寓中的驱动器上的文件。为了处理下载,我编写了以下控制器:
class DownloadController < ApplicationController
def index
@title = params[:title]
@name = params[:name]
@path = '/media/video/'+@title+'/'+@name
call_to_download(@path)
end
def call_to_download(path)
send_file( path, :x_sendfile=>true )
end
end
这对图像等小文件非常有效,但是当我尝试下载视频剪辑(大约 500 MB)时,实际开始下载大约需要一分钟。 我四处寻找解决此问题的方法,但一无所获,不胜感激!
【问题讨论】:
-
尝试减小缓冲区大小:
send_file(path, x_sendfile: true, buffer_size: 512) -
遗憾的是它没有改变任何东西
-
你使用什么服务器? Apache、Thin、nginx、Webbrick?
-
我对 Rails 还很陌生,但由于我没有更改它,我假设它是 Webbrick(默认?)
标签: ruby-on-rails ruby file delay send