Dim FileLength As Long
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Dim clsRequest As System.Net.FtpWebRequest
clsRequest = DirectCast(System.Net.WebRequest.Create(URL), System.Net.FtpWebRequest)
clsRequest.Credentials = New System.Net.NetworkCredential(Username, Password)
clsRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile
Dim clsStream As System.IO.Stream = clsRequest.GetRequestStream()
Dim ReadData(2047) As Byte, FileNumber As Integer
Dim Counter As Long
FileNumber = FreeFile()
FileOpen(FileNumber, FilePath, OpenMode.Binary)
FileLength = LOF(FileNumber)
For I = 1 To FileLength \ 2048
FileGet(FileNumber, ReadData)
clsStream.Write(ReadData, 0, 2048)
BackgroundWorker1.ReportProgress(Counter)
Counter += 2048
Next
If FileLength Mod 2048 <> 0 Then
Dim ReadData2((FileLength Mod 2048) - 1) As Byte
FileGet(FileNumber, ReadData2)
clsStream.Write(ReadData2, 0, (FileLength Mod 2048) - 1)
End If
clsStream.Close()
clsStream.Dispose()
End Sub
Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
Dim Percent As Integer = ((e.ProgressPercentage / FileLength) * 100)
Label1.Text = Percent & "%"
End Sub
Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
MsgBox("Finshed")
End Sub