定义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");

}

webclient上传下载文件的更多相关文章

  1. WebClient上传下载文件,小白篇

    WebClient的上传文件一直报错,各种百度各种稀奇古怪的东西,终于百度到一篇小白学习篇 转自: https://www.cnblogs.com/cncc/p/5722231.html 使用C#We ...

  2. C#实现http协议支持上传下载文件的GET、POST请求

    C#实现http协议支持上传下载文件的GET.POST请求using System; using System.Collections.Generic; using System.Text; usin ...

  3. rz和sz上传下载文件工具lrzsz

    ######################### rz和sz上传下载文件工具lrzsz ####################################################### ...

  4. WebClient上传音频文件

    //WebClient上传音频文件 public string UploadVoice(string fileNamePath) { Voice model=new Voice(); string s ...

  5. linux上很方便的上传下载文件工具rz和sz

    linux上很方便的上传下载文件工具rz和sz(本文适合linux入门的朋友) ##########################################################&l ...

  6. shell通过ftp实现上传/下载文件

    直接代码,shell文件名为testFtptool.sh: #!/bin/bash ########################################################## ...

  7. SFTP远程连接服务器上传下载文件-qt4.8.0-vs2010编译器-项目实例

    本项目仅测试远程连接服务器,支持上传,下载文件,更多功能开发请看API自行开发. 环境:win7系统,Qt4.8.0版本,vs2010编译器 qt4.8.0-vs2010编译器项目实例下载地址:CSD ...

  8. linux下常用FTP命令 上传下载文件【转】

    1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码 ...

  9. HttpClient上传下载文件

    HttpClient上传下载文件 java HttpClient Maven依赖 <dependency> <groupId>org.apache.httpcomponents ...

随机推荐

  1. python while循环 - python基础入门(9)

    经过昨天的学习,相信大家已经对 python的条件判断表达式if/else 有一定的了解了,那么我们今天配合昨天的课程讲解一个新概念 – while循环 . 都说程序源于生活,假如有这样一个场景:老师 ...

  2. 洛谷 题解 UVA10048 【噪音恐惧症 Audiophobia】

    [题意] 输入一个\(C\)个点\(S\)条边 \((C<=100)\) \((S<=1000)\)的无向带权图,边权表示该路径上的噪声值.当噪声太大时,耳膜可能会收到损伤,所以当你从某点 ...

  3. JRE和JDK的作用和区别

    JVM(Java  Virtual Machine)是一个虚拟的用于执行bytecode字节码的“虚拟计算机”JRE(Java   Runtime  Environment):Java 虚拟机.库函数 ...

  4. [转帖]阿里云VS腾讯云 谁才是中国未来的云计算之王?

    阿里云VS腾讯云 谁才是中国未来的云计算之王? https://www.qianzhan.com/analyst/detail/220/191008-f05009f6.html 吴小燕• 2019-1 ...

  5. [转帖][思路/技术]Mimikatz的多种攻击方式以及防御方式

    [思路/技术]Mimikatz的多种攻击方式以及防御方式 https://bbs.ichunqiu.com/thread-53954-1-1.html 之前学习过 抄密码 没想到还有这么多功能.   ...

  6. PHP替换HTML文件中所有a标签的HREF属性,其他不变

    转载出处:http://www.luanxin.top/index.php/archives/21/ 仿站的时候扒下来的代码a链接总是指向别的地方,要一个一个改的话都要累死了,展示的时候随便点一下就乱 ...

  7. 关于Django ModelForm渲染时间格式问题

    关于Django ModelForm渲染时间格式问题 直接定义DateTimeInput或者DateTimeFile是不行的,渲染在html页面中的仍然是Input text类型 解决办法:自定义小部 ...

  8. vuex 理解

    为什么要用vuex?页面由多个视图组成,用户操作会引视图的状态变化. 多个视图依赖于同一状态(例如:菜单导航) 来自不同视图的行为需要变更同一状态(例如:评论弹幕) vuex 的作用 为vue.js开 ...

  9. 面试经典算法:马拉松算法,最长回文子串Golang实现

    求一个字符串中最长的回文子串. package main import "fmt" /* 马拉松算法,求最长回文子串,时间复杂度:线性 */ func main() { // 回文 ...

  10. C#的@标志的使用情况—本篇blog采用Markdown编写

    @(C# 参考--出自官方文档入口) 1.使 C# 关键字用作标识符. @ 字符可作为代码元素的前缀,编译器将把此代码元素解释为标识符而非 C# 关键字. 下面的示例使用 @ 字符定义其在 for 循 ...