Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FTP Data Transfer

A C# WPF desktop client that transfers files to and from a remote server over the FTP protocol.

C# .NET FTP WPF

Overview

SimpleFTP is a Windows desktop application built with WPF (.NET Framework 4.8) that demonstrates data transfer over FTP. It connects to an FTP server using credentials you provide, lists the contents of the remote directory, and lets you upload local files or download remote ones — all from a single window with a live console log.

The FTP logic is implemented directly on top of the .NET FtpWebRequest and WebClient APIs (no third-party FTP library). The UI is themed with ModernWpf.

Features

  • Connect & authenticate — connect to an FTP server with a username and password; the server address, port, and credentials are entered at runtime in the UI.
  • List remote directory — on connect, retrieves a detailed directory listing (ListDirectoryDetails) and parses each entry into a file name, size, and date, displayed in a remote file-system panel.
  • Upload a file — browse for a local file via the Windows file dialog and upload it to the server (UploadFile).
  • Download a file — type the name of a listed remote file and download it locally (DownloadFile), with transfer progress reported in the console.
  • Live console log — a black-on-green terminal-style panel streams connection steps, status messages, and download progress, with a blinking cursor and a clear-log button.
  • Error handling — FTP/web exceptions are caught and surfaced to the console rather than crashing the app; long file names are truncated for display.

Usage

Requires Windows with the .NET Framework 4.8 runtime. Open SimpleFTP.sln in Visual Studio, restore the NuGet packages, build, and run.

  1. Launch the application.
  2. Fill in the connection fields:
    • Server Name/IPyour-ftp-host (e.g. ftp.example.com)
    • Port21 (default FTP port)
    • Usernameyour-username
    • Passwordyour-password
  3. Click Connect. On success, the remote directory listing appears in the Remote File System panel.
  4. To upload: click Browse, pick a local file, then click Upload.
  5. To download: type the exact name of a listed remote file into the download field and click Download.

Note: Host, port, and credentials are supplied at runtime through the UI — there are no hardcoded server details in this README. Replace the placeholders above with your own FTP server's values.

Tech Stack

  • Language: C#
  • Framework: .NET Framework 4.8
  • UI: WPF (XAML), themed with ModernWpf
  • FTP: .NET FtpWebRequest / WebClient (System.Net)
  • Tooling: Visual Studio, MSBuild, NuGet

Notes

  • This project is a portfolio piece illustrating FTP upload, download, and directory listing in a WPF application.
  • Classic FTP transmits credentials and data unencrypted. Use it only on trusted networks or with servers/accounts you control; prefer FTPS/SFTP for anything sensitive.
  • The download feature matches against the names returned in the directory listing, so connect and list the remote directory before downloading.

Built by Mohamed Habib KhattatGitHub · LinkedIn

About

ce repo décrit clairement l'utilisation de processus de transfert de données en utilisant le protocle FTP

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages