2014-01-21 3 views
0

Net :: SFTP gem을 사용하여 서버에 파일을 업로드하려고합니다.Rails gem을 사용하여 파일을 업로드 할 때 오류가 발생했습니다. Net :: SFTP : 해당 파일이 없습니다.

remote_path = "path/of/remote/file.txt" 
local_path = "path/to/local/file.txt" 
Net::SFTP.start("SERVER", "USER", :password => "PASSWORD") do |sftp| 
    sftp.upload!(local_path, remote_path) 
end 

내가 이것을 실행하면 내가 얻을 :

Net::SFTP::StatusException (Net::SFTP::StatusException open path/of/remote/file.txt (2, "no such file")) 

내가 문제가있는 디렉토리의 전체 remote_path 아직 존재하지 않는 것으로 생각 다음과 같이 내 코드입니다. 존재하는 디렉토리의 경로를 지정하면 디렉토리가 작성됩니다. 아직 업로드되지 않은 경로에 디렉토리를 만들 수도 있습니다. 이 문제가 실제로 발생합니까? 그렇다면 어떻게 SFTP로 디렉토리를 만들 수 있습니까?

답변

2

먼저 디렉토리를 만들어야합니다

sftp.mkdir! "/path/to/directory" 
2

다음은 디렉토리가 존재하는지 확인하지 않을 경우 그것을 만들 수있는 작은 조각이다 :

if !sftp.dir.entries("root").map { |entry| entry.name }.include?("new_dir") 
    sftp.mkdir("root/new_dir") 
end