Oppure

Loading
17/07/09 10:29
Master_VB
ok ho corretto:k:
ora testo il codice...
ok funziona ma vorrei mettere anche una cosa che se non trova il file nel server lo dice perchè ho provato e mi va in errore se non trova il file nel server. E poi per esepio gli ho dato un link del mio file nel mo server e in http lo scarica e in ftp mi dice che non trova il file (quando lo mando in debug). Però non me lo segnala si blocca il programma comunque c'è ancora un problema...non mi segnala l'avanzamento del download nè con la barra di progresso nè con il numero in percentuale
Ultima modifica effettuata da Master_VB 17/07/09 10:42
aaa
17/07/09 10:56
riseofapocalypse
Posta il codice, non posso aiutarti così :k:
aaa
17/07/09 11:05
Master_VB
Download.Credentials = New NetworkCredential(My.Settings.username_ftp, My.Settings.password_ftp)
        Try
            Dim newFileData() As Byte = Download.DownloadData(URL)
            Dim fileString As String = System.Text.Encoding.UTF8.GetString(newFileData)
            Console.WriteLine(fileString)
            IO.File.WriteAllBytes(filedir, newFileData)
        Catch ex As WebException
            Console.WriteLine(ex.Message)
        End Try


poi nell'evento progresschanged ho messo questo:

 ProgressBar1.Value = e.ProgressPercentage
        NessunDownloadInCorsoToolStripMenuItem.Text = "Download in corso..." & e.ProgressPercentage & "%"
        ToolStripStatusLabel1.Text = "Download in corso..." & e.ProgressPercentage & "%"
        TextBox3.Text = e.BytesReceived()
        TextBox5.Text = e.TotalBytesToReceive()

ma da http funziona invece da ftp non aumenta niente non funziona...:(
aaa
17/07/09 11:12
riseofapocalypse
Allora! Prima di tutto queste due righe puoi toglierle:
Dim fileString As String = System.Text.Encoding.UTF8.GetString(newFileData)
Console.WriteLine(fileString)

Erano solo un esempio :) poi...prova a mettere Application.DoEvents nell'evento ProgressChanged :k:
aaa
17/07/09 15:58
Master_VB
allora ho scaricato un file html...anche con application.doevents() non mi danno segni di vita gli avanzamenti e in più ho provato a scaricare un mp3 e in http funziona a meraviglia mentre in ftp si blocca con questo errore:

Eccezione first-chance di tipo 'System.Net.WebException' in System.dll

e addirittura a volte non trova il file! come mi veniva prima...boh! non si capisce più niente!:(
Ultima modifica effettuata da Master_VB 17/07/09 16:01
aaa
17/07/09 19:11
riseofapocalypse
Hai provato a portare il codice da sincrono ad asincrono?
aaa
17/07/09 19:21
Master_VB
cioè come devo fare?
aaa
17/07/09 19:35
riseofapocalypse
Prova così:
        Download.Credentials = New NetworkCredential(username, password)
        Try
            Download.DownloadDataAsync(New Uri(url))
        Catch ex As WebException
            MsgBox(ex.Message)
        End Try

E poi:
    Private Sub Download_DownloadDataCompleted(ByVal sender As Object, ByVal e As System.Net.DownloadDataCompletedEventArgs) Handles Download.DownloadDataCompleted
        IO.File.WriteAllBytes(filename, e.Result)
    End Sub
    Private Sub Download_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles Download.DownloadProgressChanged
        ProgressBar1.Value = e.ProgressPercentage
        NessunDownloadInCorsoToolStripMenuItem.Text = "Download in corso... " & e.ProgressPercentage & "%"
        ToolStripStatusLabel1.Text = "Download in corso... " & e.ProgressPercentage & "%"
        TextBox3.Text = e.BytesReceived
        TextBox5.Text = e.TotalBytesToReceive
    End Sub

Dovrebbe funzionare! :k:
aaa