Oppure

Loading
19/10/11 11:43
xsi
Buongiorno, ieri ero in ricerca di un modo di scaricare file tramite un applicazione che riportasse anche velocità di download, peso del file, progressbar e ulteriori informazioni. Proprio su questo forum ho trovato l'applicazione che riporto in allegato. Apro il progetto su vb 2010 e provo il download di alcuni file (di piccole dimensioni) e rilevo che funziona tutto correttamente. Successivamente ho provato con file di dimensioni maggiori (300mb) e l'applicazione termina il download a circa 20000kb riportandomi come errore sul codice la seguente stringa:

Dim percent As Short = (nRead * 100) / length


Ho poca conoscenza in vb.net e non ne vengo a capo, c'è forse qualche limite di download nel codice dell'applicazione? Vi ringrazio dell'aiuto anticipatamente e mi scuso se ho sbagliato in qualche modo a postare.
aaa
19/10/11 12:01
Quale errore?
19/10/11 12:03
xsi
Postato originariamente da xsi:

Buongiorno, ieri ero in ricerca di un modo di scaricare file tramite un applicazione che riportasse anche velocità di download, peso del file, progressbar e ulteriori informazioni. Proprio su questo forum ho trovato l'applicazione che riporto in allegato. Apro il progetto su vb 2010 e provo il download di alcuni file (di piccole dimensioni) e rilevo che funziona tutto correttamente. Successivamente ho provato con file di dimensioni maggiori (300mb) e l'applicazione termina il download a circa 20000kb riportandomi come errore sul codice la seguente stringa:

Dim percent As Short = (nRead * 100) / length


Ho poca conoscenza in vb.net e non ne vengo a capo, c'è forse qualche limite di download nel codice dell'applicazione? Vi ringrazio dell'aiuto anticipatamente e mi scuso se ho sbagliato in qualche modo a postare.

Stavo riprovando per averne la certezza ma oggi non riesco a replicarlo, se non erro ieri usciva scritto che era impossibile dividere per zero, purtroppo non posso essere più preciso perchè attualmente si stoppa solo il download :(

EDIT: ecco l'errore
Ultima modifica effettuata da xsi 19/10/11 12:08
aaa
19/10/11 12:07
Se l'errore è quello vuol dire che la variabile

length

per qualche motivo, vale zero, e questo ovviamente non è possibile.

Devi controllare che il valore di length sia diverso da zero prima di far continuare il download. Modifica il sorgente introducendo questo controllo.
19/10/11 12:09
xsi
Ho riportato sopra l'errore preciso.
aaa
19/10/11 12:26
Quando il programma è in quella riga, controlla il valore delle variabili ...
19/10/11 12:38
xsi
Postato originariamente da nessuno:

Quando il programma è in quella riga, controlla il valore delle variabili ...

Grazie dell'aiuto.

Rileggendo il codice la variabile lenght dovrebbe riportare il peso del file, quello che non capisco è il motivo per cui varia durante il download.

Forse il modo migliore è ripartire da 0 creando una cosa simile così mi rendo conto realmente come funziona...

aaa
19/10/11 12:50
Scusa, ma non hai detto quanto valgono le variabili come ti avevo consigliato di fare ...

Non penso che le variabili cambino valore durante l'esecuzione, probabilmente quella length vale zero sin dall'inizio e dovresti capire il perché ... ovvero dovresti effettuare un controllo subito dopo

Dim length As Long = theResponse.ContentLength 'Size of the response (in bytes)

e informare l'utente che il server non ha restituito la lunghezza del file.
Ultima modifica effettuata da 19/10/11 12:52