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 に答える