WinSCP .NET程序集 - 如何将文件上传到家中?

Sur*_*avi 2 c# winscp winscp-net

我想将文件上传到服务器的主目录(根目录),而不是文件夹.

我该怎么做?(使用C#)

transferResult = session.PutFiles(path, "\\", true, transferOptions);
Run Code Online (Sandbox Code Playgroud)

如果我使用\\remotePath,上传的文件改名.

Mar*_*ryl 6

远程路径通常使用带有正斜杠的Unix约定,而不是Windows反斜杠.

此外,使用斜杠仅表示根文件夹,而不是主文件夹(除非您的帐户被chrooted).

理想情况下使用主文件夹的绝对路径:

session.PutFiles(path, "/home/user/", ...);
Run Code Online (Sandbox Code Playgroud)

对于chrooted帐户,这只是一个斜线(这是一般性评论,我看到它不是你的情况):

session.PutFiles(path, "/", ...);
Run Code Online (Sandbox Code Playgroud)

您还可以使用它"./"来引用初始(主页)目录.

session.PutFiles(path, "./", ...);
Run Code Online (Sandbox Code Playgroud)

你也可以使用Session.HomePath:

session.PutFiles(path, session.HomePath + "/", ...);
Run Code Online (Sandbox Code Playgroud)

  • 令人敬畏的是,WinSCP的作者在这里回答问题.可能是它运作良好的部分原因. (2认同)