У меня проблема с загрузкой по FTP, и я надеюсь, что вы можете мне помочь. Я пытаюсь создать папки, а затем загружать файлы в них. То, что моя программа должна делать, это проверить, существует ли папка, а если нет, создайте новую с именем, которое было проверено ранее. Программа работает нормально, за исключением ошибки, описанной ниже.Проверить наличие файла/подкаталога с помощью VB.NET с помощью FTpWebRequest
Моя проблема:
Я хочу загрузить папку под названием ghandle
-> работает по назначению.
После этого, я хочу, чтобы загрузить папку handle
-> не работает, потому что .Contains
метод, который проверяет папки на сервере FTP, находит ghandle
и останавливается, потому что ghandle
содержит handle
.
Есть ли другие варианты, такие как .Contains
, который будет просто проверять целые слова или точные совпадения?
Вот мой исходный код:
Dim dirname = Path.GetFileNameWithoutExtension(openFileDialogHtml.FileName) & "_files"
Dim ftp = "ftp://" & ftp_address.Text & "/"
Dim user = ftp_user.Text
Dim pass = ftp_password.Text
Dim request As Net.FtpWebRequest = Net.FtpWebRequest.Create(ftp)
Dim creds As Net.NetworkCredential = New Net.NetworkCredential(user, pass)
request.Credentials = creds
Dim resp As Net.FtpWebResponse = Nothing
request.Method = Net.WebRequestMethods.Ftp.ListDirectoryDetails
request.KeepAlive = True
Using resp
resp = request.GetResponse()
Dim sr As StreamReader = New StreamReader(resp.GetResponseStream(), System.Text.Encoding.ASCII)
Dim s As String = sr.ReadToEnd()
If Not s.Contains(dirname) Then
request = Net.FtpWebRequest.Create(ftp & dirname)
request.Credentials = creds
request.Method = Net.WebRequestMethods.Ftp.MakeDirectory
resp = request.GetResponse()
MsgBox("Created folder " & dirname)
Else
MsgBox("Folder " & dirname & " already exists!")
End If
End Using
Заранее спасибо