ciao, sto cerca do di creare una funzione per eliminare una cartella su un server remoto utilizzando FTP. Ho trovato e provato diverse funzioni, ma nessuna sembra funzionare a dovere.
Questa funzione elimina la cartella solo se non ha sotto cartelle.
mentre questa che dovrebbe eliminare anche le sotto cartelle, mi da errore alla riga "myFtpWebResponse.Close()" dicendo che la risorsa non è gestita.
mi servirebbe una funzione che elimini anche le sotto cartelle. E' possibile che sbaglio qualcosa?
Questa funzione elimina la cartella solo se non ha sotto cartelle.
Codice:
Public Function EliminaDirectory(ByVal NomeCartella As String) As Boolean
Try
'Puntamento del File sul Server
Dim FTPDelReq As System.Net.FtpWebRequest = System.Net.WebRequest.Create(NomeCartella)
'Effettuare login credensiali
FTPDelReq.Credentials = New Net.NetworkCredential(user, pass)
'Richiamare il comando FTP RMD
FTPDelReq.Method = System.Net.WebRequestMethods.Ftp.RemoveDirectory
'Aspettare la risposta
Dim FTPDelResp As System.Net.FtpWebResponse = FTPDelReq.GetResponse
Return True
Catch ex As Exception
'MsgBox(ex.Message, vbCritical, "ERRORE")
Return False
End Try
End Function
Codice:
Public Sub RemoveDirectory(ByVal rfn As String)
Dim ftpreq As FtpWebRequest = FtpWebRequest.Create(RFN)
With ftpreq
.Credentials = New NetworkCredential(user, pass)
.Method = WebRequestMethods.Ftp.ListDirectory
End With
Dim sr As New StreamReader(ftpreq.GetResponse().GetResponseStream())
Dim str As String = sr.ReadLine()
Dim myFtpWebRequest As FtpWebRequest
Dim myFtpWebResponse As FtpWebResponse
While str <> Nothing
myFtpWebRequest = WebRequest.Create(rfn & "/" & str)
myFtpWebRequest.Credentials = New NetworkCredential(user, pass)
myFtpWebRequest.Method = WebRequestMethods.Ftp.DeleteFile
'litResponse.Text = myFtpWebResponse.StatusDescription
myFtpWebResponse.Close()
str = sr.ReadLine()
End While
sr.Close()
End Sub