PDA

View Full Version : [VB2010] - Verifica esistenza file su FTP


lucausa75
09-10-2010, 15:54
Salve ragazzi,

con questo codice mi collego ad un mio server ftp che dispongo su altervista:

objFtp.UseSSL = False

objFtp.Host = "miosito.altervista.org"
objFtp.UserName = "miosito"
objFtp.Password = "password"

Dim MyFile As New System.IO.FileInfo("ftp://ftp.miosito.altervista.org/Registrazione/Lista_Seriali/Informazioni.txt")
If MyFile.Exists = True Then
MessageBox.Show("it is there")
Else
MessageBox.Show("can't find it.")
End If
MessageBox.Show("Connessione avvenuta con successo")

Una volta effettuata la connessione all'ftp volevo controllare all'interno della cartella (/Registrazione/Lista_Seriali/) interna al mio ftp l'esistenza del file Informazioni.txt.

Il problema è che non mi viene riconosciuta come corretta la sintassi del percorso: ftp://ftp.miosito.altervista.org/Registrazione/Lista_Seriali/Informazioni.txt

Come risolvo?

lucausa75
11-10-2010, 06:36
...cmq ho risolto e semmai qualcuno fosse interessato questo è il codice:


Public Function CheckIfFtpFileExists(ByVal fileUri As String, ByVal _Username As String, ByVal _Password As String) As Boolean
Dim request As FtpWebRequest = WebRequest.Create(fileUri)
request.Credentials = New NetworkCredential(_Username, _Password)
request.Method = WebRequestMethods.Ftp.GetFileSize

Try
Dim response As FtpWebResponse = request.GetResponse()
' THE FILE EXISTS
Catch ex As WebException
Dim response As FtpWebResponse = ex.Response
If FtpStatusCode.ActionNotTakenFileUnavailable = response.StatusCode Then
' THE FILE DOES NOT EXIST
Return False
End If
End Try
Return True
End Function

Questa la fonte: http://forums.asp.net/t/1510443.aspx

f@bio80
11-10-2010, 15:50
se oltre a verificare che un file esista o meno ti dovesse servire qualcos'altro riguardo l'ftp, ricordo che il componente free che uso io in un mio progetto vuole essere "portato" mano a mano dentro la cartella ftp di lavoro.

ad esempio io dovevo verificare che una cartella esistesse, in caso crearla ed infine scaricarci dentro dei file.

in sostanza:

per ogni pezzo di path
se la path non esiste
creo il pezzo di path
setto la path appena creata

'esco dal for con la path creata e settata
ftpObject.putfile(nomeLocale)