Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [C#] Download di un file

    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.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    L'argomento è stato già trattato... hai fatto una ricerca?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    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?

  4. #4
    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

    codice:
    byte[] data = System.Text.Encoding.ASCII.GetBytes("Stringa di prova");
                    NetworkStream stream = client.GetStream();
                    stream.Write(data, 0, data.Length);
    se io volessi mandare un determinato file di cui ho il percorso, come dovrei fare?

    codice:
    byte[] data = ???
    Grazie.

  5. #5
    Nessuno sa indicarmi come inizializzara la variabile "dati" per inviare un tipo di file diverso da una stringa?

  6. #6
    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

    codice:
    byte[] data = System.Text.Encoding.ASCII.GetBytes("Stringa di prova");
    Un oggetto di tipo FileInfo come lo converto?

  7. #7
    codice:
    byte[] data = System.Text.Encoding.ASCII.GetBytes(tFileInfo.ToString());
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    apri la tua bella img con le classi stream,leggi tutti i byte dell'img e li passi al networkstream.

  9. #9
    Originariamente inviato da MItaly
    codice:
    byte[] data = System.Text.Encoding.ASCII.GetBytes(tFileInfo.ToString());
    Scusa, ma così facendo, spedisco il nome del file che mi interessa o il file vero e proprio?

    apri la tua bella img con le classi stream,leggi tutti i byte dell'img e li passi al networkstream.
    Che metodo della classe Stream dovrei usare per aprire/leggere i byte del file?

  10. #10
    Ok, ho risolto, semplicemente non facevo uso della classe FileStream, ora lo scambio file avviene (ad una lentezza spaventosa però . . .).

    Grazie per l'aiuto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.