我想上傳文件到服務器的home(root)目錄,而不是文件夾。WinSCP .NET程序集 - 如何上傳文件到家?
我該怎麼辦? (使用C#)
transferResult = session.PutFiles(path, "\\", true, transferOptions);
如果我使用\\
爲remotePath
,上傳的文件改名。
我想上傳文件到服務器的home(root)目錄,而不是文件夾。WinSCP .NET程序集 - 如何上傳文件到家?
我該怎麼辦? (使用C#)
transferResult = session.PutFiles(path, "\\", true, transferOptions);
如果我使用\\
爲remotePath
,上傳的文件改名。
遠程路徑通常使用帶有正斜槓的Unix約定,而不是Windows反斜槓。
此外,使用斜槓僅表示根文件夾,而不是主文件夾(除非您的帳戶是chroot)。
理想的情況下使用絕對路徑到主文件夾:
session.PutFiles(path, "/home/user/", ...);
對於chroot的帳戶,這將是唯一一個斜槓(這是一個普遍的評論,我看這不是你的情況下):
session.PutFiles(path, "/", ...);
您也可以使用"./"
來引用初始(主目錄)目錄。
session.PutFiles(path, "./", ...);
您還可以使用Session.HomePath
:
session.PutFiles(path, session.HomePath + "/", ...);
是「./」爲我工作謝謝@Martin – Suravi
真棒,WinSCP的作者在這裏回答問題。這可能是它工作得很好的部分原因。 –
不能現在來測試它,所以我把它放在這裏作爲一個評論,但你嘗試使用「/」? – Steve
@Steve顯示此錯誤:'無法覆蓋遠程文件'/ JKH_MCEFT_11172014 33502 PM.txt'。 錯誤上傳文件:無法覆蓋遠程文件'/ JKH_MCEFT_11172014 33502 PM.txt'。 按'刪除'刪除文件並創建新文件而不是覆蓋文件。 錯誤:WinSCP.SessionRemoteException:無法覆蓋遠程文件'/ JKH_MCEFT_11172014 33502 PM.txt'。 按'刪除'刪除文件並創建新文件而不是覆蓋文件。 ---> WinSCP.SessionRemoteException:沒有這樣的文件或目錄。 錯誤代碼:2' – Suravi