0

我想用相对路径将文件上传到远程 sftp 服务器。例如,我希望能够上传到sftp://myserver.com/FileStore. 我尝试使用以下代码,但它不起作用:注意:主机是myserver.com/FileStore

uri = URI.parse('sftp://' + host)
Net::SFTP.start(uri.host,username,:password=>password,:port=>port) do |sftp|
                    sftp.upload(testupload.zip,"#{uri.path}/testupload.zip")
                end

这是我得到的错误:

Net::SFTP::StatusException open /FileStore/testupload.zip (2, "no such file")
4

1 回答 1

7

我已经能够使用以下代码解决它:

uri = URI.parse('sftp://' + host)
Net::SFTP.start(uri.host,username,:password=>password,:port=>port) do |sftp|
    sftp.upload(testupload.zip,"./#{uri.path}/testupload.zip")
end

始终假设服务器名称后面的路径是登录用户主目录的相对路径。

于 2013-06-04T11:29:44.103 回答