Я могу загрузить один файл, а теперь как мне загрузить несколько файлов на FTP-сервер:
Вот код, с которым я работаю:
Private Sub uploadFile (ByVal FTPAddressAs String, ByVal filePath As String, ByVal username As String, ByVal password As String) 'Создать FTP-запрос
Try
Dim request As FtpWebRequest = DirectCast(FtpWebRequest.Create(FTPAddress & "/" & Path.GetFileName(filePath)), FtpWebRequest)
request.Method = WebRequestMethods.Ftp.UploadFile
request.Credentials = New NetworkCredential(username, password)
request.UsePassive = True
request.UseBinary = True
request.KeepAlive = False
'Load the file
Dim stream As FileStream = File.OpenRead(filePath)
Dim buffer As Byte() = New Byte(CInt(stream.Length - 1)) {}
stream.Read(buffer, 0, buffer.Length)
stream.Close()
'Upload file
Dim reqStream As Stream = request.GetRequestStream()
reqStream.Write(buffer, 0, buffer.Length)
reqStream.Close()
MsgBox("Uploaded Successfully", MsgBoxStyle.Information)
Catch
MsgBox("Failed to upload.Please check the ftp settings", MsgBoxStyle.Critical)
End Try
End Sub
Private Sub btnUpload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpload.Click
btnUpload.Enabled = False
Application.DoEvents()
uploadFile(txtFTPAddress.Text, txtFilePath.Text, txtUsername.Text, txtPassword.Text)
btnUpload.Enabled = True
End Sub
Так я изменил, но не работал:
If Me.FolderBrowserDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim f As New IO.DirectoryInfo(Me.FolderBrowserDialog1.SelectedPath)
For Each file As IO.FileInfo In f.GetFiles
Select Case file.Extension.ToLower
Case ".jpg", ".bmp", ".gif", ".png", ".ico"
CheckedListBox1.Items.Add(file.FullName, CheckState.Checked)
End Select
Next
For pix As Integer = 0 To CheckedListBox1.CheckedItems.Count - 1
btnUpload.Enabled = False
Application.DoEvents()
uploadFile(txtFTPAddress.Text, txtFilePath.Text, txtUsername.Text, txtPassword.Text)
btnUpload.Enabled = True
Next
End If
End Sub