Nello script #619 abbiamo sottolineato che le librerie per creare un client FTP in .NET sono state deprecate a partire dalla versione 6 e che Microsoft non le rimpiazzerà con nuove versioni moderne. Per sostituire le librerie obsolete, abbiamo introdotto la libreria FluentFTP e mostrato come installarla e connettersi a un server per effettuare l'upload di un file.
In questo script riprendiamo il tema mostrando come effettuare il download di un file. Dopo aver fatto i passi propedeutici come l'installazione del package e la connessione, visti nello script #619, possiamo invocare il metodo DownloadFileAsync passando in input il percorso in cui salvare il file in locale e il percorso del file sul server. Sono supportati anche altri parametri opzionali come il comportamento da tenere in caso il file in locale già esista, se effettuare la verifica del checksum del file scaricato e un callback da invocare quando cambia lo stato di avanzamento del download.
using var client = new FtpClient("1.1.1.1", "username", "pwd"); await client.AutoConnectAsync(); await client.DowloadFileAsync(@"C:\MyFile.txt", "/myfolder/myfile.txt");
Oltre a usare DownloadFileAsync per scaricare il file sul disco, possiamo usare i metodi DownloadStreamAsync e DownloadByteArrayAsync per scaricare il file rispettivamente in uno stream e in un byte array.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
La gestione della riconnessione al server di Blazor in .NET 9
Collegare applicazioni server e client con .NET Aspire
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Gestire progetti NPM in .NET Aspire
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Ricevere notifiche sui test con Azure Load Testing
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Applicare un filtro per recuperare alcune issue di GitHub
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Introduzione ai web component HTML
Generare una User Delegation SAS in .NET per Azure Blob Storage
I più letti di oggi
- Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
- The Agentic Day - Milano
- Usare jQuery DatePicker all'interno di un UpdatePanel di ASP.NET
- Cambiare le impostazioni internazionali con VBScript 5.x
- Utilizzare una checkbox come colonna di un DataGrid
- .NET Conference Italia 2025 - Milano