1

我注意到,当我使用 WinSCP 去 PUT 一个文件时,它失败并出现代码 2 错误,说明:

{WinSCP.SessionRemoteException:文件或文件夹“fileToPut.xml”不存在。---> WinSCP.SessionRemoteException:系统错误。

代码:2.系统找不到指定的文件

--- 内部异常堆栈跟踪结束 ---

在 WinSCP.OperationResultBase.Check()

在 c:\Program.cs:line 136 中的 transferWinSCP(String fileName)}

但是,就在它到达这条线之前:

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);
      }
   }
}
4

2 回答 2

1

我目前有同样的问题。但是我发现如果你改变路径而不是使用“\”尝试“/”有时会得到不同的结果。想你可能想试一试。但目前改变它对我没有帮助,所以我被困在同一条船上。

于 2015-08-12T08:32:58.373 回答
0

这最终为我工作: Path.GetFullPath(fileName)

于 2015-08-12T15:49:53.153 回答