private const int MaxRetries = 3; // 最大重试次数
public bool DownloadFile(string ftpServer, string ftpUsername, string ftpPassword, string remoteFilePath, string localFilePath)
{
try
{
FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create($"{ftpServer}/{remoteFilePath}");
ftpRequest.Credentials = new NetworkCredential(ftpUsername, ftpPassword);
ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile;
using (FtpWebResponse ftpResponse = (FtpWebResponse)ftpRequest.GetResponse())
using (Stream stream = ftpResponse.GetResponseStream())
using (FileStream fileStream = File.Create(localFilePath))
{
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0)
{
fileStream.Write(buffer, 0, bytesRead);
}
}
Console.WriteLine($"Download succeeded: {remoteFilePath}");
return true;
}
catch (Exception ex)
{
// 处理异常
Console.WriteLine($"Error: {ex.Message}");
return false;
}
}
调用法法示例
DownloadFile(“ftp://192.168.0.141:8989”, “Administrator”, “wjyy@123”, “2023/11/24/231124114275.pdf”, “C:\11\1111.pdf”);