2012-06-21 81 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 /」之前的一些目錄,但多虧了卡斯帕它已經解決了。 –