Kck.FileStorage.FluentFtp
5.0.0
dotnet add package Kck.FileStorage.FluentFtp --version 5.0.0
NuGet\Install-Package Kck.FileStorage.FluentFtp -Version 5.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Kck.FileStorage.FluentFtp" Version="5.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Kck.FileStorage.FluentFtp" Version="5.0.0" />
<PackageReference Include="Kck.FileStorage.FluentFtp" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Kck.FileStorage.FluentFtp --version 5.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Kck.FileStorage.FluentFtp, 5.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Kck.FileStorage.FluentFtp@5.0.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Kck.FileStorage.FluentFtp&version=5.0.0
#tool nuget:?package=Kck.FileStorage.FluentFtp&version=5.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Kck.FileStorage.FluentFtp
FluentFTP-backed IFileStorageService for transferring files over FTP/FTPS with connection pooling support.
Installation
dotnet add package Kck.FileStorage.FluentFtp
Quick Start
using Kck.FileStorage.Abstractions;
// Program.cs
builder.Services.AddKckFileStorageFluentFtp(options =>
{
options.Host = "ftp.example.com";
options.Port = 21;
options.Username = Environment.GetEnvironmentVariable("FTP_USER");
options.Password = Environment.GetEnvironmentVariable("FTP_PASSWORD");
options.UseSsl = true; // FTPS; plain FTP sends credentials in clear text
});
// Upload a file (IFtpService adds directory and move operations)
public class BackupService(IFileStorageService storage)
{
public Task BackupAsync(Stream data, string fileName, CancellationToken ct) =>
storage.UploadAsync(new FileUploadRequest
{
Content = data,
FileName = fileName,
DestinationPath = "backups",
Overwrite = true
}, ct);
}
Configuration
| Property | Description | Default |
|---|---|---|
Host |
FTP server | required |
Port |
FTP port | 21 |
Username |
FTP user | null |
Password |
FTP password | null |
UseSsl |
FTPS (use it in production; plain FTP sends credentials in clear text) | false |
PoolSize |
FTP connections kept in the pool | 5 |
The options are validated at startup. IFtpService and IFileStorageService are registered as singletons over the
connection pool.
Upload
UploadAsync throws IOException when the server reports a failed upload, or when Overwrite is false and the
file already exists. Before 5.0 both returned silently (a failure only logged a warning).
Resources
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- FluentFTP (>= 55.1.0)
- Kck.FileStorage.Abstractions (>= 5.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.14)
- Microsoft.Extensions.Options (>= 10.0.14)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.