从已安装的smb文件系统流式传输文件

时间:2013-12-23 09:09:51

标签: ruby-on-rails streaming mount samba smb

我将samba共享从我们的Windows文件服务器安装到我们的网络服务器,以便员工可以通过他们的samba共享将数据传输到我们的文件交换门户。

我想通过send_file方法传输这些文件,这种方法不适用于大文件。似乎send_file方法等待它加载完整文件,这可能需要很长时间才能通过100mbit网络。

默认情况下,:stream选项设置为true,我也手动将其设置为true,但它没有帮助。该方法始终等待,直到加载整个文件。我认为问题是我试图从samba共享流。有没有可以帮助我的安装选项?

1 个答案:

答案 0 :(得分:3)

由于MS技术和协议的模糊性以及有关您的系统设置,rails版本等的未知数,我有点感觉您可能无法得到您正在寻找的答案。

所以,如果发生这种不必要的情况,请允许我给出几个替代方案......

备选方案1

在SMB主机上设置Web服务器以提供文件,在apache中挂载文件夹并通过HTTP直接将它们流式传输到客户端,而不使用webapp作为中间人

替代argh: - (

如果一切都失败了,

考虑到您拥有相对较少的用户数和较高的网络延迟,因此使用常规File.openHow do I read/write binary files?)和Rails'内置流媒体简化流式传输文件内容可能是一个不错的选择(这将是依赖于你的rails版本,Rails 4应该能很好地处理这个问题,Rails 3也是可行的)