2017-09-01 3 views
1

Gibt es eine Möglichkeit, eine Datei in einem anderen Verzeichnis wie Kopieren/Einfügen zu kopieren. .MoveTo() Methode verschieben nur die SftpFile und ich versuchte WriteAllBytes() Methode mit SftpFile.Attribues.GetBytes(), aber es schreibt immer eine beschädigte Datei.SSH.NET SftpClient: Kopieren/Duplizieren SftpFile

Danke

Antwort

0

Sie die Datei kopieren direkt kaum in der Lage sein. Für Details, warum finden Sie unter:
In an SFTP session is it possible to copy one remote file to another location on same remote SFTP server?


So müssen Sie herunterladen und die Datei neu laden.

Der einfachste Weg, das zu tun (ohne eine temporäre lokale Datei zu erstellen) ist:

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

Hier ist, wie Remote-Datei neu zu kopieren:

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

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

Wie sieht Ihre Antwort zeigt auf Oberseite meiner vorhandenen Antwort? –

Verwandte Themen