使用WebClient从FTP服务器下载文件…

本文介绍了如何使用.NET Framework中的WebClient类从FTP服务器下载文件及向FTP服务器上传文件。包括了使用不同命令如STOU和APPE的具体方法,并讨论了WebClient类内部使用的FtpWebRequest和FtpWebResponse。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从.NET Framework 2.0版本开始,使用WebClient类可以简单的从FTP服务器下载文件,或者向FTP服务器上传文件。

从FTP服务下载文件

和在「文件下载保存」中介绍的方法一样。如果使用WebClient.DownloadFile类可以简单些。

下面的例子是从ftp://localhost/test.txt下载文件,保存到"C:\test.txt"路径的方法。

[VB.NET] 'WebClient对象作成 Dim wc As New System.Net.WebClient() '指定用户名和密码 wc.Credentials = New System.Net.NetworkCredential("username", "password") '从FTP服务器下载 wc.DownloadFile("ftp://localhost/test.txt", "C:\test.txt") '释放资源 wc.Dispose()

 

[C#] // WebClient对象作成 System.Net.WebClient wc = new System.Net.WebClient(); //指定用户名和密码 wc.Credentials = new System.Net.NetworkCredential("username", "password"); //从FTP服务器下载 wc.DownloadFile("ftp://localhost/test.txt", @"C:\test.txt"); //释放资源 wc.Dispose();

向FTP服务器上传文件

下面的例子是,把路径"C:\test.txt"文件上传到ftp://localhost/test.txt保存。

[VB.NET] 'WebClient对象作成 Dim wc As New System.Net.WebClient() '指定用户名和密码 wc.Credentials = New System.Net.NetworkCredential("username", "password") '向FTP服务器上传文件 wc.UploadFile("ftp://localhost/test.txt", "C:\test.txt") '释放资源 wc.Dispose()

 

[C#] // WebClient对象作成 System.Net.WebClient wc = new System.Net.WebClient(); //指定用户名和密码 wc.Credentials = new System.Net.NetworkCredential("username", "password"); //向FTP服务器上传文件 wc.UploadFile("ftp://localhost/test.txt", @"C:\test.txt"); //向FTP服务器上传文件 wc.Dispose();

使用STOU或APPE命令向FTP服务器上传

根据指定WebClient.UploadFile方法的第2个参 数"WebRequestMethods.Ftp.UploadFileWithUniqueName",使用"STOU"(使用不重复的文件名保存)命 令也可以向FTP服务器上传。或者,指定"WebRequestMethods.Ftp.AppendFile",然后使用"APPE"(补充写入)命令 也可以向FTP服务器上传。什么也不指定时,使用"STOR"命令上传。命令的详细说明请参照这里

WebClient类的方法

根据上面所述,使用WebClient类对FTP服务器连接时,在WebClient类的内部使用FtpWebRequest和FtpWebResponse类。使用FtpWebRequest和FtpWebResponse类上传文件、下载文件的方法请参照这里, 而WebClient类也可以实现同样的功能。但是,不能进行很细的设定,只能使用FtpWebRequest的默认设定而已。也就是说,当PASV方式 有效时(FtpWebRequest.UsePassive属性为True),会变为二进制方法(FtpWebRequest.UseBinary属性为 True)。还有,因为FtpWebRequest.KeepAlive属性为False,所以就算触发WebClient.Dispose方法也没有办 法注销。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值