Я не опытный программист в VB.Каким образом можно загружать несколько файлов в VB.NET?
Я создаю настольное приложение, где пользователь загружает некоторые файлы на сервер через ftp.
Файлы находятся в одной папке в локальной сети и загружаются в ту же папку на сервере.
По momment Я работаю с этим кодом:
For Each File As String In My.Computer.FileSystem.GetFiles(_
path, _
FileIO.SearchOption.SearchAllSubDirectories, _
"*.jpg")
Dim fileInf As IO.FileInfo = New IO.FileInfo(File)
Dim uri As String = serveruri
Dim reqFTP As Net.FtpWebRequest
reqFTP = Net.FtpWebRequest.Create(New Uri(uri))
reqFTP.Credentials = New Net.NetworkCredential(user, pass)
reqFTP.KeepAlive = False
reqFTP.Method = Net.WebRequestMethods.Ftp.UploadFile
reqFTP.UseBinary = True
reqFTP.ContentLength = fileInf.Length
Dim buffLength As Integer = 2048
Dim buff(buffLength) As Byte
Dim contentLen As Integer
Dim fs As IO.FileStream = fileInf.OpenRead()
Dim strm As IO.Stream = reqFTP.GetRequestStream()
contentLen = fs.Read(buff, 0, buffLength)
While Not (contentLen = 0)
strm.Write(buff, 0, contentLen)
contentLen = fs.Read(buff, 0, buffLength)
End While
strm.Close()
fs.Close()
Next
С помощью этого кода я загрузить один за файлы, но общее время потратили слишком большой.
Как я могу сократить общее время?
Я решил сделать это с помощью потоков или загрузить файлы несинхронно, но я не смог найти ни одного примера того, как это сделать.
Спасибо!
Привет Питер, спасибо за нашу ansker. Я работаю с этим, и теперь у меня лучшие результаты. Я установил пустые учетные данные прокси с помощью w.prowx = new WebProxy() ', и я установил максимальное количество подключений на 30 с помощью' System.Net.ServicePointManager.DefaultConnectionLimit = 30' Я все еще работаю над этим! – user2862734