Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

DotFTP

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

DotFTP

Client FTP / SFTP basato su .NET Standard

nugetNuGet
Version
3.0.2
Version published
Maintainers
1
Created
Source

DotFTP.NETStandard

DotFTP è una libreria per gestire i seguenti protocolli:

  • FTP
  • FTPS
  • SFTP
  • SCP

consentendo di eseguire le operazioni più comuni quali Upload, Download, Delete e consultazione dei file su host remoto.

Piattaforme supportate

DotFTP ha come target .NET Standard 2.0 ed è quindi compatibile con:

Implementazione .NETVersioni
.NET e .NET Core1.0, 1.1, 2.0, 2.1, 2.2, 3.0, 3.1, 5.0, 6.0
.NET Framework4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Mono4.6, 5.4, 6.4
Xamarin.iOS10.0, 10.14, 12.16
Xamarin.Mac3.0, 3.8, 5.16
Xamarin.Android7.0, 8.0, 10.0
Piattaforma UWP (Universal Windows Platform)8.0, 8.1, 10.0, 10.0.16299, TBD
Unity2018.1

Librerie utilizzate

DotFTP utilizza le librerie open source FluentFTP per FTP, FTPS e SSH.NET per FTPS e SCP

Esempi di utilizzo

DotFTP è molto semplice da utilizzare. Gli esempi riportati si riferiscono all'implementazione dell'interfaccia per FTP/FTPS ma sono sostanzialmente identici per SFTP e SCP. Sarà sufficiente inizializzare l'interfaccia utilizzando SFtpClient e ScpClient rispettivamente

Lettura file nella directory root

using (IFtpClient client = new FtpClient("localhost", "username", "Password"))
{
    try
    {
        client.Connect();
        List<string> files = client.GetFileList("/");
        Console.WriteLine("Elenco file: ");
        foreach (string file in files)
            Console.WriteLine(file);
    }
    catch (Exception ex)
    { Console.WriteLine(ex.Message); }
}

Upload di un file nella cartella /folder

using (IFtpClient client = new FtpClient("localhost", "username", "Password"))
{
    try
    {
        client.Connect();
        client.UploadFile("/folder", @"C:\tmp\DotFTP", "upload.txt");
    }
    catch (Exception ex)
    { Console.WriteLine(ex.Message); }
}

Download di un file da /folder

using (IFtpClient client = new FtpClient("localhost", "username", "Password"))
{
    try
    {
        client.Connect();
        client.DownloadFile("/folder", "upload.txt", @"C:\tmp\DotFTP");
    }
    catch (Exception ex)
    { Console.WriteLine(ex.Message); }
}

Migrazione da IFTPAgent

La migrazione da IFTPAgent a IFtpClient è molto semplice. I metodi hanno mantenuto lo stesso nome e sono semplicemente stati rimossi i parametri host, port, user e pass e quelli rimasti hanno lo stesso ordine e modalità di funzionamento.

Questo è un esempio di come convertire il download di un file:

//Implementazione con IFTPAgent: 
IFTPAgent ftpAgent = new FTPAgent();
    ftpAgent.DownloadFile("localhost", 21, "/", "upload.txt", @"C:\tmp\DotFTP", "username", "Password");

//Implementazione con IFtpClient:
using (IFtpClient client = new FtpClient("localhost", "username", "Password", 21))
{
    try
    {
        client.Connect();
        client.DownloadFile("/folder", "upload.txt", @"C:\tmp\DotFTP");
    }
    catch (Exception ex)
    { Console.WriteLine(ex.Message); }
}

Consigli pratici

  • L'host può essere specificato sia con il protocollo che senza, quindi è valido sia sftp://serverdomain.com che serverdomain.com
  • Il path del server FTP deve essere assoluto, quindi partendo dalla root /

Keywords

FTP

FAQs

Package last updated on 25 Feb 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts