【问题标题】:Upload big (2Gb+) files by rails通过 rails 上传大 (2Gb+) 文件
【发布时间】:2018-09-21 06:05:26
【问题描述】:

我的服务器上有大文件,需要通过 http(s) 将它们发送到另一台服务器。 我用rest-client gem 它适用于小文件,但 2+Gb 文件会导致错误。

当我尝试使用 https 时,我得到了这个错误

RangeError: integer 2325958991 too big to convert to `int'

用本地http测试得到这个错误

2.3.3 :001 > RestClient.post 'http://localhost:4567/upload',  :my_file => File.open("test_file2G", 'rb')                                                                                                                                  
Errno::EPIPE: Broken pipe
        from /home/rubydev/.rvm/rubies/ruby-2.3.3/lib/ruby/2.3.0/net/protocol.rb:211:in `write'
        from /home/rubydev/.rvm/rubies/ruby-2.3.3/lib/ruby/2.3.0/net/protocol.rb:211:in `write0'
        from /home/rubydev/.rvm/rubies/ruby-2.3.3/lib/ruby/2.3.0/net/protocol.rb:185:in `block in write'
        from /home/rubydev/.rvm/rubies/ruby-2.3.3/lib/ruby/2.3.0/net/protocol.rb:202:in `writing'
        from /home/rubydev/.rvm/rubies/ruby-2.3.3/lib/ruby/2.3.0/net/protocol.rb:184:in `write'
        from /home/rubydev/.rvm/rubies/ruby-2.3.3/lib/ruby/2.3.0/net/http/generic_request.rb:188:in `send_request_with_body'
        from /home/rubydev/.rvm/rubies/ruby-2.3.3/lib/ruby/2.3.0/net/http/generic_request.rb:121:in `exec'

对于我使用 sinatra 服务器的测试,它成功接收大文件,例如 curl。

更新 流式上传会导致同样的错误

【问题讨论】:

标签: ruby-on-rails ruby file-upload rest-client


【解决方案1】:

Gem curb 成功发送大文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-17
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    相关资源
    最近更新 更多