.NETで最も使いやすいオープンソースFTPクライアントライブラリ

.NETで最も使いやすいオープンソースFTPクライアントライブラリ

FluentFTPは、.NETおよび.NET Standard向けのFTPおよびFTPSクライアントです。

最終更新 2023/07/17 19:59
工具箱
読了目安 2 分
カテゴリ
.NET
タグ
.NET C# オープンソース

FluentFTP は、.NET および .NET Standard 向けの FTP および FTPS クライアントです。

速度に最適化されており、外部依存関係がなく、完全に C# で書かれています。

機能

FTP、FXP、FTPS、TLS 1.3 対応の FTPS、クライアント証明書対応の FTPS、FTPS プロキシを完全サポート。

30 種類以上の FTP サーバータイプを完全サポート。

さまざまなファイルおよびディレクトリリスト(Unix、Windows/IIS、Azure、Pure-FTPd、ProFTPD、Vax、VMS、OpenVMS、Tandem、HP NonStop Guardian、IBM z/OS および OS/400、Windows CE、Serv-U など)をサポート。

再帰的なディレクトリリストとディレクトリ削除をサポート。

進捗状況の追跡により、サーバーからのアップロードおよびダウンロードが簡単に行えます。

ファイルとフォルダの作成、追加、読み取り、書き込み、名前変更、移動、削除が可能。

非同期サポート:すべての操作で async await が使用可能。

C# 使用例

// ユーザー名とパスワードで接続を作成
var client = new AsyncFtpClient("123.123.123.123", "david", "pass123");

// サーバーに接続し、自動再接続を設定
await client.AutoConnect();

// すべてのファイルを一覧表示
foreach (FtpListItem item in await client.GetListing("/htdocs")) {

    // ファイルタイプの場合
    if (item.Type == FtpObjectType.File) {

        // ファイルサイズを取得
        long size = await client.GetFileSize(item.FullName);

        // ファイルハッシュを計算
        FtpHash hash = await client.GetChecksum(item.FullName);
    }

    // ファイルまたはフォルダの更新日時を取得
    DateTime time = await client.GetModifiedTime(item.FullName);
}

// ファイルをアップロード
await client.UploadFile(@"C:\MyVideo.mp4", "/htdocs/MyVideo.mp4");

// ファイルを移動
await client.MoveFile("/htdocs/MyVideo.mp4", "/htdocs/MyVideo_2.mp4");

// ファイルをダウンロード
await client.DownloadFile(@"C:\MyVideo_2.mp4", "/htdocs/MyVideo_2.mp4");

// ファイルを削除
await client.DeleteFile("/htdocs/MyVideo_2.mp4");

// 接続を閉じて終了
await client.Disconnect();

プロジェクトアドレス

https://github.com/robinrodricks/FluentFTP

さらに探索

関連読書

その他の記事
同じカテゴリ / 同じタグ 2026/04/22

各OSバージョンの.NETサポート状況(250707更新)

仮想マシンとテストマシンを使用して、各OSバージョンの.NETサポート状況を確認します。OSインストール後、対応するランタイムをインストールし、Stardustエージェントを実行できることを確認します(合格条件)。

続きを読む
同じカテゴリ / 同じタグ 2026/02/07

AOTの使用経験のまとめ

プロジェクト作成当初から、新機能を追加したり新しい構文を使用したりした場合には、すぐにAOT公開テストを実施するという良い習慣を身につけるべきです。

続きを読む