我注意到当我使用WinSCP去PUT文件时,它失败并出现代码2错误,说明:
{WinSCP.SessionRemoteException:文件或文件夹'fileToPut.xml'不存在。 ---> WinSCP.SessionRemoteException:系统错误。
代码:2。系统找不到指定的文件
---内部异常堆栈跟踪结束---
在WinSCP.OperationResultBase.Check()
at transferWinSCP(String fileName)in c:\ Program.cs:line 136}
然而,就在它到达这一行之前:
TransferOperationResult transferResult = session.PutFiles(fileName, path, false, transferOptions);`
我确保fileName确实存在。
有什么想法吗?
这是我的代码:
using (Session session = new Session())
{
//start Log
session.SessionLogPath = logPath;
//connect
session.Open(sessionOptions);
//upload
TransferOptions transferOptions = new TransferOptions {TransferMode = TransferMode.Binary};
if (File.Exists(fileName))
{
TransferOperationResult transferResult = session.PutFiles(fileName, path, false, transferOptions); //put the file on the ftp server
transferResult.Check();
foreach (TransferEventArgs transfer in transferResult.Transfers)
{
Console.Write("upload of {0} succeeded", transfer.FileName);
}
}
}
答案 0 :(得分:0)
我目前遇到同样的问题。 但是我发现如果你改变路径而不是使用“\”尝试“/”有时会得到不同的结果。以为你可能想尝试一下。但是现在改变它并没有帮助我所以我被困在同一条船上。
答案 1 :(得分:0)
这最终为我工作:Path.GetFullPath(fileName)