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
Utilizzare Azure Cosmos DB con i vettori
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Eseguire operazioni sui blob con Azure Storage Actions
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Migliorare l'organizzazione delle risorse con Azure Policy
Creare una libreria CSS universale: Nav menu
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Applicare un filtro per recuperare alcune issue di GitHub
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Change tracking e composition in Entity Framework
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
I più letti di oggi
- Utilizzare gli schematics di Capacitor per Angular
- Ottenere il riferimento alla finestra che ha aperto un'altra finestra con HTML5 e JavaScript
- Una chat P2P con Windows Communication Foundation
- Mostrare un Popup di Feedback nella Universal Windows Platform
- Applicare effetti di luce nella Universal Windows Platform