Negli script precedenti abbiamo visto come creare un client FTP tramite la libreria FluentFTP. In particolare abbiamo visto come effettuare l'upload e il download di un file, mentre in questo script vedremo come ottenere il contenuto di una cartella sul server.
Dopo aver creato il client e stabilito la connessione, dobbiamo invocare il metodo GetListingAsync passando in input il percorso della cartella sul server. Il metodo torna una lista di oggetti di tipo FtpListItem dove ogni istanza può rappresentare un file, una sottocartella o un link in base al valore della proprietà Type di tipo FtpObjectType. Grazie a questa proprietà possiamo anche effettuare ricerche ricorsive andando a recuperare i file all'interno di sottocartelle.
Se vogliamo avere altre informazioni, possiamo utilizzare le proprietà FullName, Name e Size per ottenere rispettivamente il nome del file compreso il percorso sul server, il nome senza il percorso e la dimensione. Tra i metodi possiamo usare GetChecksumAsync della classe FtpClient, passando in input il percorso del file, per ottenere dal server il checksum del file, il metodo GetModifiedTime per ottenere la data di ultima modifica del file e altro ancora.
using var client = new FtpClient("1.1.1.1", "username", "pwd"); await client.AutoConnectAsync(); foreach (FtpListItem item in await client.GetListingAsync("/MyFolder")) { if (item.Type == FtpFileSystemObjectType.File) { var size = item.Size; var name = item.Name; var hash = client.GetChecksum(item.FullName); var time = client.GetModifiedTime(item.FullName); } }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Scrivere selettori CSS più semplici ed efficienti con :is()
Gestire progetti .NET + React in .NET Aspire
Ordine e importanza per @layer in CSS
Utilizzare Containers in .NET Aspire
Triggerare una pipeline su un altro repository di Azure DevOps
Gestione CSS in Blazor con .NET 9
Utilizzare Locust con Azure Load Testing
.NET Aspire per applicazioni distribuite
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Utilizzare WebJobs su Linux con Azure App Service
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
I più letti di oggi
- Impersonation di utente per l'esecuzione di codice in una pagina ASP.NET
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Sfruttare i nuovi overload di TimeSpan.From* per creare timespan usando numeri interi