Qualcuno sa come cancellare un file da un server SFTP usando SharpSSH di Tamir Gal? Sono stato in grado di realizzare altre funzionalità, ma la cancellazione. Grazie in anticipo.Come eliminare un file da un server SFTP in modo programmatico utilizzando SharpSSH?
risposta
Per eseguire questa operazione è necessario modificare l'assembly SharpSSH per esporre le funzionalità necessarie.
ottenere il codice sorgente e open $ \ SharpSSH-1.1.1.13.src \ SharpSSH \ Sftp.cs
Inserire il seguente righe di codice prima della fine della classe:
public void Delete(string path)
{
SftpChannel.rm(path);
}
Riconversione e fare riferimento alla DLL ricompilata nel progetto. Ora sarai in grado di eliminare i file sul server SFTP.
Grazie! Siamo incappati in questo e funziona perfettamente. Solo un altro suggerimento per chiunque voglia compilare questo, è utile usare il seguente comando ILMerge post-build per finire con un comodo assembly chiamato SharpSSH.dll: 'ilmerge/target: library/out:" $ (TargetDir) SharpSSH.dll "/ v2" $ (TargetDir) Tamir.SharpSSH.dll "" $ (TargetDir) DiffieHellman.dll "" $ (TargetDir) Org.Mentalis.Security.dll "' – mattmc3
Aiutato anche a me. Grazie mille!! – Vbp
Ebbene si può anche utilizzare SshExec classe e poi eseguire il comando "rm" usando il metodo "RunCommand". In questo modo non dovrai ricompilare e costruire una nuova DLL.
Grazie! Questo mi ha salvato dalla modifica della libreria. –
classe Lo SshExec non ha funzionato per me, ma un po 'di magia Riflessione lavorato:
var prop = sftp.GetType().GetProperty("SftpChannel", BindingFlags.NonPublic | BindingFlags.Instance);
var methodInfo = prop.GetGetMethod(true);
var sftpChannel = methodInfo.Invoke(sftp, null);
((ChannelSftp) sftpChannel).rm(ftpPath);
Utilizzando dll di Tamir vorrei suggerire di eliminare usando il codice seguente. In questo modo, non è necessario modificare la dll di Tamir, mentre il codice sottostante può essere scritto nella classe.
string fromFile = "https://stackoverflow.com/a/b/MyFile.txt"
SshExec se = new SshExec(host, username, password);
se.Connect(port);
se.RunCommand("rm " + fromFile);
- 1. Streaming di un file da SharpSSH
- 2. Elenco directory Sharpssh
- 3. Download di file da un server SFTP usando JSch
- 4. C'è un modo per leggere in modo programmatico un file da un disco TrueCrypt in memoria?
- 5. Come compilare un file pdf in modo programmatico?
- 6. Come eliminare un file da un Gist?
- 7. Come eliminare un file utilizzando Visual C++?
- 8. Come scaricare un file da SFTP usando PHP?
- 9. Linux come avviare "sftp-server"?
- 10. Come riprodurre un MP3 su un iPhone in modo programmatico?
- 11. SFTP utilizzando cURL
- 12. SFTP da PHP
- 13. Scarica un file da Internet in modo programmatico con un evento Progress usando Delphi e Indy
- 14. Come eliminare da un database?
- 15. Come eliminare un file in laravel 4
- 16. Come comunicare con il server SFTP
- 17. Come eliminare un giornale di coda del sistema MSMQ in modo programmatico?
- 18. Come eliminare un file da php: // temp wrapper
- 19. Come eliminare una riga specifica da un file in unix?
- 20. Come eliminare file da HDFS?
- 21. Aggiungi l'elemento da immettere in modo programmatico
- 22. Factor in modo programmatico un numero elevato
- 23. C'è un modo per configurare gli MDB in modo programmatico?
- 24. Come eliminare i file in modo ricorsivo
- 25. Come eliminare un elemento da un set?
- 26. utilizzando telnet per trasferire un file da/a server
- 27. Come scaricare un jar usando Maven in modo programmatico
- 28. Generare report in modo programmatico utilizzando l'API TFS e SSRS
- 29. Come trasformare il gruppo in file SVG in modo programmatico?
- 30. Come impostare la gravità in modo programmatico in un relativelayout
Un lungo follow-up tardivo per questa domanda. Ho aggiunto questo in alcuni aggiornamenti che ho fatto su https://bitbucket.org/mattgwagner/sharpssh per evitare di ricompilare la libreria da soli. – MattGWagner