我想使用相对路径将文件上传到远程 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
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Net::SFTP::StatusException open /FileStore/testupload.zip (2, "no such file")
Run Code Online (Sandbox Code Playgroud)
我已经能够使用以下代码解决它:
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
Run Code Online (Sandbox Code Playgroud)
始终假设服务器名称后面的路径是登录用户主目录的相对路径。