Per poter realizzare una funzione che permetta di cancellare un file su un SFTP server abbiamo utilizzato la libreria SharpSSH.
Per sapere cos'è SharpSSH SharpSSH is a pure .NET implementation of the SSH2 client protocol suite. It provides an API for communication with SSH servers and can be integrated into any .NET application. The library is a C# port of the JSch project from JCraft Inc. and is released under BSD style license.
SharpSSH allows you to read/write data and transfer files over SSH channels using an API similar to JSch's API. In addition, it provides some additional wrapper classes which offer even simpler abstraction for SSH communication.
Il codice che abbiamo dovuto sviluppare per permettere l'eliminazione di un file su server SFTP è stato il seguente.
Generazione della classe per che derivante da SshTransferProtocolBase Public Class SshTransfer Inherits SshTransferProtocolBase
Public Sub New(ByVal sftpHost As String, ByVal user As String, ByVal password As String) MyBase.New(sftpHost, user, password) End Sub
Public Overrides Sub Cancel() Throw New Exception("The method or operation is not implemented.") End Sub
Protected Overrides ReadOnly Property ChannelType As String Get Return "sftp" End Get End Property
Public Overrides Sub [Get](fromFilePath As String, toFilePath As String) Throw New Exception("The method or operation is not implemented.") End Sub
Public Overrides Sub Mkdir(directory As String) sftpChannel.mkdir(directory) End Sub
Public Overrides Sub Put(fromFilePath As String, toFilePath As String) Throw New Exception("The method or operation is not implemented.") End Sub
Public Function sftpChannel() As ChannelSftp Return CType(m_channel, SharpSsh.jsch.ChannelSftp) End Function
Public Function Delete(ByVal path As String) As Boolean Dim bRet As Boolean = False
Try sftpChannel.rm(path) bRet = True
Catch ex As Exception
End Try
Return bRet
End Function End Class
Per poter utilizzare questa classe e quindi realizzare il metodo DeleteFile abbiamo creato questa funzione Public Function DeleteFile(ByVal DeleteFilePath As String, ByRef sErrorSftp As String) As Boolean Dim bRet As Boolean = False Dim sshTran As SshTransfer = Nothing
Try sshTran = New SshTransfer(sHostSFtp, sNomeUtenteSFtp, sPasswordSFtp) sshTran.Connect()
If Not sshTran.Delete(DeleteFilePath) Then Throw New Exception("Errore cancellazione del file")
bRet = True
Catch ex As Exception sErrorSftp = "Errore durante la download " & vbCrLf & ex.Message & vbCrLf & ex.StackTrace
Finally If Not IsNothing(sshTran) Then sshTran.Close() sshTran = Nothing
If Not IsNothing(sshCp) Then sshCp.Close() sshCp = Nothing
Cerca più informazioni grazie alla nostra AI, prova a fargli delle domande utilizzando l'icona che vedi in basso a destra. Utilizza la forza di ChatGPT per ricercare in tutti gli articoli di MrPaloma.com. Apri la chat.
Esplora MrPaloma con la nostra chat IA!. Domanda cosa vuoi trovare per cercare rapidamente.
In questo articolo, potrebbero essere presenti alcuni link referral, che sono speciali link che ci permettono di ottenere una piccola commissione se decidete di effettuare un acquisto o di registrarvi a un servizio dopo aver cliccato su di essi. I link referral sono comunemente utilizzati per sostenere il costo delle operazioni del sito web e per continuare a fornire contenuti di qualità agli utenti come voi.
Tuttavia, tenete presente che i link referral non influenzano il nostro giudizio o il contenuto dell’articolo. Il nostro obiettivo è fornire sempre informazioni accurate, approfondite e utili per i nostri lettori. Speriamo che questi link referral non compromettano la vostra esperienza di navigazione e vi invitiamo a continuare a leggere i nostri articoli con fiducia, sapendo che il nostro impegno è offrirvi sempre il meglio.
Aiuta MrPaloma.com a crescere, utilizza uno dei seguenti link per iscriverti a qualche sito così che noi possiamo ricevere un omaggio.
Amazon Sostieni MrPaloma facendo acquisti su Amazon partendo da questo link amazon.it.