我正在使用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解决了这个问题.