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
Semplificare il deployment di siti statici con Azure Static Web App
Utilizzare Model as a Service su Microsoft Azure
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Potenziare Azure AI Search con la ricerca vettoriale
Creare un'applicazione React e configurare Tailwind CSS
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Creare form tipizzati con Angular
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Reactive form tipizzati con FormBuilder in Angular