ruby-on-rails – `dispatch_request’:在Net :: SFTP.upload期间没有这样的请求

我正在使用Net :: SFTP将文件上传到服务器.这是代码:

uri = URI.parse('sftp://host.org')
io = StringIO.new(csv_string)
timeout 120 do
  Net::SFTP.start(uri.host,ENV['SFTP_USER'],:password=>ENV['SFTP_PASS'],:port=>22)  do |sftp|
    sftp.upload(io, "/ftpguest/Medstro/" + file_name)
  end
end

当我运行代码时,它成功连接到主机并上传具有正确文件名的零字节文件.然后它抛出此异常:

lib/ruby/gems/2.3.0/gems/net-sftp-2.1.2/lib/net/sftp/session.rb:947:in `dispatch_request': no such request `403046400' (Net::SFTP::Exception)

文件内容没有上传,我只是得到一个零字节文件.我在谷歌上找不到任何东西.有谁知道如何解决这个问题?

仅供参考,我可以使用WinSCP上传文件.

最佳答案 将net-ssh gem更新到版本4.0.1解决了这个问题.

点赞