c# 如何判断FTP下载是否成功
时间: 2024-09-29 10:08:43 浏览: 24
在 C# 中,通过使用 `System.Net.FtpClient` 类,你可以创建 FTP 客户端并尝试下载文件。下载完成后,通常会返回一些状态信息来判断下载是否成功。以下是一个简单的示例:
```csharp
using System;
using System.IO;
using System.Net;
public bool DownloadFile(string ftpServer, string username, string password, string remoteFilePath, string localFilePath)
{
FtpWebRequest request = (FtpWebRequest)WebRequest.Create($"ftp://{ftpServer}/{remoteFilePath}");
request.Method = WebRequestMethods.Ftp.DownloadFile;
// 设置身份验证
request.Credentials = new NetworkCredential(username, password);
request.UseBinary = true; // 指定二进制模式下载
try
{
using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
{
if (response.StatusCode == HttpStatusCode.OK) // 状态码 200 表示成功
{
Stream responseStream = response.GetResponseStream();
FileStream outputStream = File.OpenWrite(localFilePath);
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = responseStream.Read(buffer, 0, buffer.Length)) > 0)
{
outputStream.Write(buffer, 0, bytesRead);
}
outputStream.Close();
responseStream.Close();
return true;
}
else
{
Console.WriteLine($"Download failed with status code {response.StatusCode}.");
return false;
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error downloading file: {ex.Message}");
return false;
}
}
// 调用示例
bool downloadSuccess = DownloadFile("your_ftp_server", "username", "password", "/path/to/file.txt", "local_file_path.txt");
if (downloadSuccess)
{
Console.WriteLine("Download successful!");
}
else
{
Console.WriteLine("Download failed.");
}
阅读全文