首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将大文件上传到rails应用程序?

如何将大文件上传到rails应用程序?
EN

Stack Overflow用户
提问于 2010-02-17 02:16:25
回答 4查看 2.1K关注 0票数 4

我有一个ruby应用程序,用户可以通过rails web应用程序使用它。

我需要解决的用例是:每个用户需要编译,通过网页在数据库上创建一个实体,并放一个真正大的附件(可以是100G或更多)与实体相关。

现在这太大了,一般的上传插件无法处理,我正在寻找一种方法来解决这个问题,我的想法是:-通过http将上传委托给backgroundrb -开发一个GTK gui并将其发送给用户进行上传。

还有其他的提示或想法吗?

谢谢

EN

回答 4

Stack Overflow用户

发布于 2010-02-17 02:20:50

如果它大于100 it,您可能应该使用某种类型的上传管理器。如果您的网络速度足够快,您可以只构建一个受信任的applet来与服务器通信。受信任的小程序将拥有完全的文件权限,因此它将像独立的应用程序一样工作。通过这种方式,您可以避免需要为文件传输分发单独的实用程序。

或者,您可以在web上生成一些令牌,然后让用户使用具有给定令牌的独立应用程序来上传他们的文件。

票数 1
EN

Stack Overflow用户

发布于 2010-02-17 06:00:04

在web界面上传输100 me的数据会让我感到畏缩。最好是编写/使用一个独立的应用程序来完成传输。

如果您已经在使用Ruby,您可以编写一个基于Ruby的应用程序,通过FTP进行上传。例如:

代码语言:javascript
复制
require 'net/ftp'

Net::FTP.open('uploads.yoursite.com','username','password') {|ftp|
    ftp.login('username','password')
    ftp.put 'filename'
    if (ftp.last_response != "266 Transfer complete.\n")
        puts "Error with FTP upload\nResponse was: #{ftp.last_response}"
    end
}

我使用这段代码将自动生成的数据文件上传到另一台服务器,该服务器对这些文件进行存档。在Ruby中有几个不同的库用于构建简单的用户界面,您所需要的只是一个简单的窗口,用户可以在其中输入用户名和密码,选择要上传的文件,然后单击"Go“按钮。

Ruby SSH库使得通过SFTP进行安全的文件传输成为可能(提示:require 'net/sftp')。我自己没有用过它,但是the docs让它看起来像FTP一样简单。IIRC、SFTP具有对恢复中断传输的本机支持。

您还可以使用像WinSCP这样的实用程序,它是一个开源工具,可以使用FTP、SFTP或SCP进行上传。对于非Windows系统,有适用于OS和KasablankaCyberduck或适用于Linux的gFTP

票数 1
EN

Stack Overflow用户

发布于 2011-12-19 04:23:37

这些家伙有一些上传大文件的好信息。也许这会有帮助:http://tinyw.in/67ZF

他们会经历他们解决问题的过程,以及他们在此过程中采取的步骤。值得一看。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2275215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档