2017-09-01 18 views
1

コピー/貼り付けのような別のディレクトリにファイルをコピーする方法はありますか? メソッドはSftpFileだけを移動し、SftpFile.Attribues.GetBytes()を使用してWriteAllBytes()メソッドを試しましたが、常に破損したファイルに書き込みます。SSH.NET SftpClient:コピー/複製SftpFile

ありがとうございました

答えて

0

ファイルを直接コピーすることはほとんどできません。詳細については、なぜ、以下を参照してください。
In an SFTP session is it possible to copy one remote file to another location on same remote SFTP server?


をだからあなたは、ファイルをダウンロードして再アップロードする必要があります。

(一時的なローカルファイルを作成せず)であることを行う最も簡単な方法:ここで

SftpClient client = new SftpClient("exampl.com", "username", "password"); 
client.Connect(); 

using (Stream sourceStream = client.OpenRead("/source/path/file.dat")) 
using (Stream destStream = client.Create("/dest/path/file.dat")) 
{ 
    sourceStream.CopyTo(destStream); 
} 
-1

は新しいものにリモートファイルをコピーする方法です:

using (var sftp = new SftpClient(host, username, password)) 
{ 
    client.Connect(); 

    using (Stream sourceStream = sftp.OpenRead(remoteFile)) 
    { 
    sftp.UploadFile(sourceStream, remoteFileNew)); 
    } 
} 
+0

あなたの答えは何が表示されません私の既存の回答のトップ? –

関連する問題