我想上传文件到服务器的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