C# WebClient进行FTP服务上传文件和下载文件
定义WebClient使用的操作类: 操作类名称WebUpDown
WebClient上传文件至Ftp服务:
//// <summary>
/// WebClient上传文件至Ftp服务
/// </summary>
/// <param name="fileNamePath">文件名,全路径格式</param>
/// <param name="uriString">服务器文件夹路径</param>
public static void UpLoadFile(string fileNamePath, string uriString)
{
string NewFileName = DateTime.Now.ToString("yyMMddhhmmss") + DateTime.Now.Millisecond.ToString() + fileNamePath.Substring(fileNamePath.LastIndexOf("."));
uriString = uriString + NewFileName;
//创建WebClient实例
WebClient myWebClient = new WebClient();
//指定用户名和密码
myWebClient.Credentials = new NetworkCredential("username", "password");
try
{
//上传文件
myWebClient.UploadFile(new Uri(uriString), fileNamePath);
}
catch (Exception ex)
{
MessageBox.Show("文件上传失败,失败原因:" + ex.Message);
}
finally
{
myWebClient.Dispose();
}
}
下载服务器文件至客户端:
/// <summary>
/// 下载服务器文件至客户端
/// </summary>
/// <param name="URL">被下载的文件地址,绝对路径</param>
/// <param name="Dir">另存放的目录</param>
public static void Download(string URL, string Dir)
{
WebClient client = new WebClient();
client.Credentials = new NetworkCredential("username "," password ");
string Path = Dir; //另存为的绝对路径+文件名
try
{
client.DownloadFile(new Uri(URL), Path);
}
catch (Exception ex)
{
MessageBox.Show("文件下载失败,失败原因:" + ex.Message);
}
finally
{
client.Dispose();
}
}
调用方法:
/// <summary>
/// WebClient上传到Ftp服务
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Button_Click_5(object sender, RoutedEventArgs e)
{
WebUpDown.UpLoadFile(@"C:\123.txt",@"ftp://localhost//");
}
/// <summary>
/// WebClient使用Ftp服务下载到客户端
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Button_Click_6(object sender, RoutedEventArgs e)
{
WebUpDown.Download(@"ftp://localhost//123.txt", @"C:\123.txt");
}