Ho necessità di effettuare il download di un file dalla rete attraverso un programma scritto in C#, ma non mi è chiaro a quale classe fare riferimento per fare ciò.
Qualcuno sa darmi un consiglio?
Grazie.
Ho necessità di effettuare il download di un file dalla rete attraverso un programma scritto in C#, ma non mi è chiaro a quale classe fare riferimento per fare ciò.
Qualcuno sa darmi un consiglio?
Grazie.
L'argomento è stato già trattato... hai fatto una ricerca?
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Si ho cercato ma non ho trovato ciò che serve a me . . .
Cercando nella guida ho trovato la classe WebClient in cui è presente il metodo DownloadFile, ma non mi è del tutto chiaro.
La mia situazione è questa: l'applicazione Client ha stabilito la connessione con l'applicazione Server tramite le classi TCPClient e TCPListener, a questo punto, il Client seleziona il file che vuole trasferire (server->client), e adesso?
Non mi è chiaro il funzionamento della WebClient.Download, in pratica, occorre creare una variabile con l'indirizzo completo (quindi Indirizzo_Server + Path_del_file) e metterla nel primo campo del metodo?
Cambiamo strada, allora, per comunicare le due applicazioni da me create fanno uso dei metodi Stream.Write e Stream.Read.
Fino a questo punto mi sono limitato a scambiare stringhe tra le applicazioni, ora devo inviare un file (di tipo generico, quindi può essere un jpg o un exe ecc...), che sintassi devo utilizzare per fare ciò?
Per l'invio di stringhe ho utilizzato questa sintassi
se io volessi mandare un determinato file di cui ho il percorso, come dovrei fare?codice:byte[] data = System.Text.Encoding.ASCII.GetBytes("Stringa di prova"); NetworkStream stream = client.GetStream(); stream.Write(data, 0, data.Length);
Grazie.codice:byte[] data = ???
Nessuno sa indicarmi come inizializzara la variabile "dati" per inviare un tipo di file diverso da una stringa?![]()
In sostanza, qualcuno può indicarmi come inviare un file in rete?
Come già detto faccio uso del metodo Stream.Write per inviare i dati, ed occorre che essi siano in una matrice di byte. Il file che devo inviare è in un oggetto di tipo FileInfo, quindi ho necessità di convertire l'oggetto FileInfo nella matrice di byte in modo da inviarlo con la Stream.Write.
Qualcuno sa dirmi che sintassi utilizzare per fare ciò?
Un oggetto di tipo String viene convertito in questo modo
Un oggetto di tipo FileInfo come lo converto?codice:byte[] data = System.Text.Encoding.ASCII.GetBytes("Stringa di prova");
codice:byte[] data = System.Text.Encoding.ASCII.GetBytes(tFileInfo.ToString());
Amaro C++, il gusto pieno dell'undefined behavior.
apri la tua bella img con le classi stream,leggi tutti i byte dell'img e li passi al networkstream.
Scusa, ma così facendo, spedisco il nome del file che mi interessa o il file vero e proprio?Originariamente inviato da MItaly
codice:byte[] data = System.Text.Encoding.ASCII.GetBytes(tFileInfo.ToString());
Che metodo della classe Stream dovrei usare per aprire/leggere i byte del file?apri la tua bella img con le classi stream,leggi tutti i byte dell'img e li passi al networkstream.
Ok, ho risolto, semplicemente non facevo uso della classe FileStream, ora lo scambio file avviene (ad una lentezza spaventosa però . . .).
Grazie per l'aiuto.