Master_VB (Normal User)
Pro
Messaggi: 148
Iscritto: 26/06/2009
|
ciao a tutti io ho un problema in pratica quando vado a scaricare un file con un client dichiarato così:
Codice sorgente - presumibilmente VB.NET |
dim withevents dwn as new webclient
|
da http è tutto a posto va alla perfezione, mentre quando scarico da ftp mi dà questi errori:
(piccolo screen)
http://img40.imageshack.us/img40/1745/immaginezjp.jpg
il codice che uso per scariare il file ftp è questo:
Codice sorgente - presumibilmente VB.NET |
Download.Credentials = New System.Net.NetworkCredential(My.Settings.username_ftp, My.Settings.password_ftp) Try Download.DownloadFileAsync(New Uri(URL), (filedir)) Catch ex As Exception MsgBox("Errore di download:" + ErrorToString(), MsgBoxStyle.Critical) End Try Timer4.Stop()
|
|
|
riseofapocalypse (Ex-Member)
Pro
Messaggi: 150
Iscritto: 08/07/2009
|
Su MSDN ho trovato un esempio sincrono in C# di come usare il WebClient per scaricare un file da FTP! Ho tratto solo la parte che ti interessa e l'ho convertito in VB.Net:
Codice sorgente - presumibilmente VB.NET |
Dim request As New WebClient request.Credentials = New NetworkCredential("anonymous", "janeDoe@contoso.com") Try Dim newFileData() As Byte = request.DownloadData(serverUrl) Dim fileString As String = System.Text.Encoding.UTF8.GetString(newFileData) Console.WriteLine(fileString) Catch ex As WebException Console.WriteLine(ex.Message) End Try
|
Ultima modifica effettuata da riseofapocalypse il 16/07/2009 alle 15:41 |
|
Master_VB (Normal User)
Pro
Messaggi: 148
Iscritto: 26/06/2009
|
in vb.net non funziona perchè la microsoft non gli ha fatto "bene" il supporto all'ftp?...comunque devo fare imports csharp per usare il codice vero? ora provo
|
|
Master_VB (Normal User)
Pro
Messaggi: 148
Iscritto: 26/06/2009
|
ma dove salva il file scaricato?
|
|
Master_VB (Normal User)
Pro
Messaggi: 148
Iscritto: 26/06/2009
|
comunque io vorrei usare il mio webclient così posso gestire anche gli eventi così è uguale per tutti comunque non so dove fargli salvare il file sul computer e si blocca lo stesso senza nessun errore però da la scritta non risponde
|
|
riseofapocalypse (Ex-Member)
Pro
Messaggi: 150
Iscritto: 08/07/2009
|
Complimenti! Hai battuto il Record di post multipli in meno di mezz'ora!
Scherzi a parte, se vuoi usare gli eventi del WebClient dichiaralo WithEvents! Ovviamente non devi dichiararlo all'interno del Sub in quel caso... comunque non salva il file, poichè ne scarica i Bytes! Poi sta a te salvarlo ad esempio così:
Codice sorgente - presumibilmente Plain Text |
IO.File.WriteAllBytes(newFileData, filename)
|
P.S. E' ovvio che l'applicazione si blocchi visto che è un esempio sincrono
Ultima modifica effettuata da riseofapocalypse il 17/07/2009 alle 11:40 |
|
Master_VB (Normal User)
Pro
Messaggi: 148
Iscritto: 26/06/2009
|
ah ecco...comuqnue mi dà questi due errori:
Errore 1 Impossibile convertire il valore di tipo 'Matrice a 1 dimensioni di Byte.'
Errore 2 Impossibile convertire il valore di tipo 'String' in 'Matrice a 1
usando questo codice:
Codice sorgente - presumibilmente VB.NET |
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(newFileData, filedir ) Catch ex As WebException Console.WriteLine(ex.Message) End Try
|
|
|
riseofapocalypse (Ex-Member)
Pro
Messaggi: 150
Iscritto: 08/07/2009
|
Ops piccolo errorino, ho invertito gli argomenti di RealAllBytes
|
|
Master_VB (Normal User)
Pro
Messaggi: 148
Iscritto: 26/06/2009
|
ok ho corretto
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 il 17/07/2009 alle 12:42 |
|