高分求 C# FTP 下载器制作方法!

来源:百度知道 编辑:UC知道 时间:2024/09/21 10:45:57
我已经写好了普通HTTP文件的下载代码,可是发现不能下载FTP中的内容
是怎么回事呢?该如何处理,我需要既能下FTP又能下载HTTP的文件

提示错误是:无法将类型为System.Net.FtpWebRequest的对象强制转换为System.Net.HttpWebRequest
相关代码如下:
private void DownFile()//下载文件
{
long StartPos = 0;//下载文件的开始位置
FileStream fs;//文件流
if (ReTransfers & File.Exists(StrFileName))//文件续传且文件在本地存在,则准备续传,否则新建
{
fs = new FileStream(StrFileName, FileMode.Open, FileAccess.ReadWrite);//File.OpenWrite(StrFileName);
StartPos = fs.Length;
fs.Seek(StartPos, SeekOrigin.Current); //移动文件流中的当前指针
}
else
{
fs = new FileStream(StrFileName, FileMode.Create, FileAccess.Write);
}

//打开网络连接
try
{
label3.BeginInvoke(new ChangeString(Setlabel3Text), "读取远程文件大小...");

ftp下载与http下载协义不同,当然不能用HttpWebRequest类来下载了,要用专为ftp协议封装的FtpWebRequest类。
更改如下:
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(StrUrl);//下载文件

看看这个,网上找的
C#封装的完整FTP类:
http://www.itstrike.cn/Home/Article/CSharp-Packaging-complete-FTP-class