c#怎么实现下载FTP服务器中的某个文件

如题,c#怎么实现下载FTP服务器中的某个文件,我想在局域网内的服务器中下载东西,为了方便,怎么实现,当我点程序的浏览,即可看到待下载文件的列表,然后点击保存(下载),即... 如题,c#怎么实现下载FTP服务器中的某个文件 ,我想在局域网内的服务器中下载东西,为了方便,怎么实现,当我点程序的 浏览,即可看到 待下载文件 的列表,然后点击 保存(下载),即可下载到本地的计算机的指定目录??
求高手!!!
或者给个思路,需要什么控件和组件,小弟新手,麻烦各位大虾了。。
20分送上。。
展开
 我来答
wangzhiqing999
2011-11-02 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3360万
展开全部
public const string FTP_URL = "ftp://服务器地址";

public const string FTP_USER_NAME = "user_name";

public const string FTP_PASSWORD = "pwd";

/// <summary>
/// 下载文件
/// </summary>
public void DownloadFile(string fileName)
{
// 连接对象
WebClient request = new WebClient();
// 用户名/密码.
request.Credentials = new NetworkCredential(FTP_USER_NAME, FTP_PASSWORD);
// 组合全路径名.
string fullFileName = FTP_URL + fileName;
// Windows / FTP 路径切换.
fullFileName = fullFileName.Replace('\\', '/');
// 预期的文件内容.
byte[] newFileData = null;
newFileData = request.DownloadData(fullFileName);
// 写入文件.
WriteBinFile("本地文件名", newFileData);
}

private void WriteBinFile(string fileName, byte[] newFileData)
{
FileStream fs = null;
BinaryWriter bw = null;
try
{
// 首先判断,文件是否已经存在
if (File.Exists(fileName))
{
// 如果文件已经存在,那么删除掉.
File.Delete(fileName);
}
// 注意第2个参数:
// FileMode.Create 指定操作系统应创建新文件。如果文件已存在,它将被覆盖。
fs = new FileStream(fileName, FileMode.Create, FileAccess.Write);
bw = new BinaryWriter(fs);
// 写入数据.
bw.Write(newFileData);
// 关闭文件.
bw.Close();
fs.Close();
bw = null;
fs = null;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (bw != null)
{
try
{
bw.Close();
}
catch
{
// 最后关闭文件,无视 关闭是否会发生错误了.
}
}
if (fs != null)
{
try
{
fs.Close();
}
catch
{
// 最后关闭文件,无视 关闭是否会发生错误了.
}
}
}
}
追问
能不能发个界面给我啊??或者告诉我需要什么 控件啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户86569
2011-11-02 · 超过12用户采纳过TA的回答
知道答主
回答量:116
采纳率:0%
帮助的人:57.1万
展开全部
你要参考一r下qftp的协议,自己f和服务端建立ftp连接,如果连接成功,就通过控制链接向服务器发送一s个a查询命令即可,判断服务器的应答,从3而就知道文8件是否存在。这个d并不d难实现,你作为3客户3端,只需要利用套接字,按照ftp协议的规定,把需要的连接给建立起来,给服务器发送一j个b查询命令。 n⑤ァrn⑤ァy郡Ⅻon⑤ァa譬恰mzXЫf
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
XX3342XX
2011-11-02
知道答主
回答量:12
采纳率:0%
帮助的人:10.1万
展开全部
下载文件其实C#中有专门封装好的类方法WebClient 关键就在与你对方法的参数的设置上面,主要的就是你FTP连接设置
追问
我不知道怎么用按钮实现这个功能啊
追答
直接将WebClient方法写在按钮触发事件下就好了啊!?跟实现其他任何按钮功能是一个思路啊! 关键还是在你的参数设置上这个需要根据你的实际情况进行设置的!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式