在C#中,你可以使用FtpClient
類來連接到FTP服務器并執行文件傳輸操作。以下是一個簡單的示例代碼,展示了如何使用C#的FtpClient
類連接到FTP服務器并上傳文件:
using System;
using System.IO;
using System.Net;
class FtpClientExample
{
static void Main()
{
// FTP服務器的地址和端口
string server = "ftp.example.com";
int port = 21;
// FTP用戶名和密碼
string username = "your_username";
string password = "your_password";
// 要上傳的文件路徑
string localFilePath = @"C:\path\to\your\file.txt";
// 創建FtpClient對象
FtpClient ftpClient = new FtpClient(server, port, username, password);
try
{
// 連接到FTP服務器
ftpClient.Connect();
// 檢查連接是否成功
if (ftpClient.IsConnected)
{
Console.WriteLine("Connected to FTP server.");
// 設置文件傳輸模式為二進制,以防止文件損壞
ftpClient.BinaryMode = true;
// 上傳文件
using (FileStream fileStream = new FileStream(localFilePath, FileMode.Open))
{
ftpClient.UploadFile(fileStream, Path.GetFileName(localFilePath));
Console.WriteLine("File uploaded successfully.");
}
}
else
{
Console.WriteLine("Failed to connect to FTP server.");
}
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
finally
{
// 斷開與FTP服務器的連接
ftpClient.Disconnect();
}
}
}
請注意,上述代碼示例中的FtpClient
類并不是.NET框架自帶的。你需要使用第三方庫,如FluentFTP
,來實現FTP客戶端功能。以下是使用FluentFTP
庫的示例代碼:
首先,通過NuGet包管理器安裝FluentFTP
庫:
Install-Package FluentFTP
然后,使用以下代碼連接到FTP服務器并上傳文件:
using System;
using System.IO;
using FluentFTP;
class FtpClientExample
{
static void Main()
{
// FTP服務器的地址和端口
string server = "ftp.example.com";
int port = 21;
// FTP用戶名和密碼
string username = "your_username";
string password = "your_password";
// 要上傳的文件路徑
string localFilePath = @"C:\path\to\your\file.txt";
// 創建FtpClient對象
FtpClient ftpClient = new FtpClient(server, port, username, password);
try
{
// 連接到FTP服務器
ftpClient.Connect();
// 檢查連接是否成功
if (ftpClient.IsConnected)
{
Console.WriteLine("Connected to FTP server.");
// 設置文件傳輸模式為二進制,以防止文件損壞
ftpClient.BinaryMode = true;
// 上傳文件
using (FileStream fileStream = new FileStream(localFilePath, FileMode.Open))
{
ftpClient.UploadFile(fileStream, Path.GetFileName(localFilePath));
Console.WriteLine("File uploaded successfully.");
}
}
else
{
Console.WriteLine("Failed to connect to FTP server.");
}
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
finally
{
// 斷開與FTP服務器的連接
ftpClient.Disconnect();
}
}
}
請注意,上述代碼示例中的FtpClient
類是FluentFTP
庫中的類。你需要使用該庫來實現FTP客戶端功能。