Anixe.IO.FtpClient
3.0.0
dotnet add package Anixe.IO.FtpClient --version 3.0.0
NuGet\Install-Package Anixe.IO.FtpClient -Version 3.0.0
<PackageReference Include="Anixe.IO.FtpClient" Version="3.0.0" />
paket add Anixe.IO.FtpClient --version 3.0.0
#r "nuget: Anixe.IO.FtpClient, 3.0.0"
// Install Anixe.IO.FtpClient as a Cake Addin #addin nuget:?package=Anixe.IO.FtpClient&version=3.0.0 // Install Anixe.IO.FtpClient as a Cake Tool #tool nuget:?package=Anixe.IO.FtpClient&version=3.0.0
Anixe.IO.FtpClient
Package allows you to quickly integrate your .net application with ftp/sftp server.
How to integrate
Add into csproj as a package reference
<PackageReference Include="Anixe.IO.FtpClient" Version="2.0.0" />
Register package with DI container
public void AddFtpClient(IServiceCollection services)
{
services.AddFtpClient();
}
How to integrate
This package provides interface IFtpClient, resolve it.
- Create connection
// Ftp
var ftpConnection = _ftpClient.CreateFtpConnection("localhost", "user", "password", port: 21);
// OR
var ftpConnection = _ftpClient.CreateFtpConnection(
new ConnectionConfiguration("localhost", "user", "password", port), (nativeClient) => {});
// Sftp
var sftpConnection = _ftpClient.CreateSftpConnection("localhost", "user", "password", port: 22);
// OR
var sftpConnection = _ftpClient.CreateSftpConnection(
new ConnectionConfiguration("localhost", "user", "password", port), (nativeClient) => {});
- Download file
Task<Result> downloadResult = anyConnection.DownloadFileAsync(localPath, remotePath, token);
- Upload file
Task<Result> uploadResult = anyConnection.UploadFileAsync(localPath, remotePath, token);
- Read / write by stream
Task<Result<Stream>> openReadStreamResult = anyConnection.OpenReadAsync(remotePath, token);
Task<Result<Stream>> openWriteStreamResult = anyConnection.OpenWriteAsync(remotePath, token);
// Write (upload) example
var openWriteResult = await anyConnection.OpenWriteAsync("test.txt", CancellationToken.None);
try
{
const int bufferLength = 2048;
byte[] buffer = new byte[bufferLength];
int readBytes = 0;
var stream = System.IO.File.OpenRead(@"C:\file.txt");
do
{
readBytes = stream.Read(buffer, 0, bufferLength);
openWriteResult.Value.Write(buffer, 0, readBytes);
}
while (readBytes != 0);
}
catch (Exception e)
{
}
finally
{
openWriteResult.Value.Dispose();
}
References
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Anixe.IO.CommonContainers (>= 2.0.0)
- FluentFTP (>= 49.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.0)
- SSH.NET (>= 2023.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
# Anixe.IO.FtpClient CHANGELOG
## 3.0.0 - 2024-01-03
- Updated FluentFTP to 49.0.1
- Updated Microsoft.Extensions.DependencyInjection.Abstractions to 8.0.0
- Updated SSH.NET to 2023.0.1
## 2.0.0 - 2021-08-31
- Drop support of all .NET versions before .NET 6
- Updated FluentFTP to 42.1.0
- Updated Microsoft.Extensions.DependencyInjection.Abstractions to 7.0.0
- Updated SSH.NET to 2020.0.2
- [BREAKING CHANGE] Changed IFtpClient.CreateFtpConnection to take callback on FluentFTP.IAsyncFtpClient instead of FluentFTP.IFtpClient
## 1.2.0 - 2021-08-31
- Updated FluentFTP to 35.0.2
## 1.1.1 - 2021-07-09
### Added
- Extend IFtpClient interface with functions allowing creating (S)Ftp connection with native client callbacks
## 1.1.0 - 2021-07-09
### Added
- Option to provide callback when creating in (S)FtpConnection in order to manually setup native client options
## 1.0.1 - 2021-07-08
### Added
- License information in package metadata