2012-06-21 60 views
0

我有一个安装了net-sftp gem的rails 3.2.2应用程序。net-sftp ruby​​,上传文件错误

我创建了一个简单的控制器来测试将文件上传到远程sftp的最基本功能。

这是我的控制器:

class UploadsController < ApplicationController 
    require 'net/sftp' 

    def upload 
    Net::SFTP.start('host', 'root', :password => 'password') do |sftp| 
     @sftp = sftp # I've got a session object so that seems to work 

     # upload a file or directory to the remote host 
     sftp.upload!("/Users/kensodev/Desktop/ashrit.xml", "/domains/inbar-paz.com/html/test/ashrit.xml") 
    end 
    end 
end 

当我访问 “本地主机:3000 /上传/上传” 路上,我得到这个错误:

Net::SFTP::StatusException open /domains/inbar-paz.com/html/test/ashrit.xml (2, "no such file") 

也许我的路径错了吗?

谢谢你试图帮助:) Paz。

+0

您是否先从控制台测试此代码?它看起来像你怀疑的一个简单的路径错误。 – Casper

+0

我不知道如何从控制台测试这个...我粘贴了相同的代码,但得到了同样的错误。 –

+1

您需要手动登录到sftp服务器来检查路径。您应该从命令行运行'sftp',登录到服务器并查看正确的路径。示例'sftp user @ host'。请注意,这不是来自控制台,而是来自命令行(Linux)。 – Casper

回答

2

此路径中的一个目录“/domains/inbar-paz.com/html/test/”并不存在。

+0

谢谢罗马,但这有点不准确,问题是我错过了“/ domains /”之前的一些目录,但多亏了卡斯帕它已经解决了。 –