Click here to Skip to main content
15,881,898 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi I have made a working FTP downloader, but I want to get file size before downloading the file. I use e.TotalBytesToReceive but it always gives me the value of -1, while e.bytesrecived works very good . (I will use these 2 values to make a progressbar). Here is my code:


VB
Imports System.Net

Public Class Download

    WithEvents WebIllyria As New Net.WebClient 'WithEvents WebClient As New Net.WebClient

    Private Sub Download_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Uri As New Uri("ftp://illyriapatch@ftp.drivehq.com/illyria.exe")
        Try

            WebIllyria.Credentials = New Net.NetworkCredential("username", "password")
            WebIllyria.DownloadFileAsync(Uri, "c:\illyria.exe")

        Catch ex As Exception
           
            MsgBox(ex.ToString)
        End Try
    End Sub

    Private Sub WebIllyria_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles WebIllyria.DownloadProgressChanged
        ProgressDownload.Value = e.ProgressPercentage
        Label4.Text = e.TotalBytesToReceive
        Label3.Text = e.BytesReceived
        Label2.Text = e.ProgressPercentage & "%"
        If ProgressDownload.Value = 100 Then
            MessageBox.Show("Download Completed!!")
            Label2.Text = "..."
        End If
    End Sub
End Class
Posted

1 solution

 
Share this answer
 
Comments
Kenneth Haugland 14-Aug-12 16:45pm    
This seems like vagly familiuare thechnic :)
[no name] 14-Aug-12 16:47pm    
Go with what works :-)
Chriscs7 15-Aug-12 10:41am    
Thank you but this doesn't help me at all. I tried it and I get conflict with my actual code...

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900