| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1201 人关注过本帖
标题:【源码】C# 做的FTPClient类库
只看楼主 加入收藏
qubo1982
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:367
专家分:1132
注 册:2009-3-18
结帖率:100%
收藏
 问题点数:0 回复次数:2 
【源码】C# 做的FTPClient类库
QFTP.rar (38.02 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册

Sample:
程序代码:
    
        QFTP.QFTP Ftp = new QFTP.QFTP();
        private void Form1_Load(object sender, EventArgs e)
        {
            Ftp.OnFileProgressChanged += new QFTP.QFTP.FileProgressChangedEventHandler(Ftp_OnFileProgressChanged);
            Ftp.OnError += new QFTP.QFTP.ErrorEventHandler(Ftp_OnError);
            Ftp.OnGetFileList += new QFTP.QFTP.FileListHandler(Ftp_OnGetFileList);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Ftp.DownFtpFile("ftp://192.168.3.4/work18/dotnetfx35.exe", @"D:\TEMP\新建文件夹", "ocr", "ocr");
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Ftp.GetFTPFileList("ftp://192.168.3.4/work18", "ocr", "ocr");
        }

        void Ftp_OnGetFileList(object sender, FtpFileListEvent e)
        {
            FtpFileList fList = e.FileList;
            fList.SortByName();
            listView1.BeginInvoke(new Action<FtpFileList>((s) =>
            {
                listView1.Items.Clear();
                s.All((s1) =>
                {
                    ListViewItem lvi = listView1.Items.Add(s1.Name);
                    lvi.SubItems.Add(s1.Size.ToString());
                    lvi.SubItems.Add(s1.Type);
                    lvi.SubItems.Add(s1.ModifiedDate.ToString());
                    lvi.SubItems.Add(s1.Attributes);
                    //listView1.Items.Add(lvi);
                    return true;
                });
            }), fList);
        }

        void Ftp_OnError(object sender, Exception e)
        {
            this.Invoke(new Action<string>((s) => { MessageBox.Show(s); }), e.Message);
        }

        void Ftp_OnFileProgressChanged(object sender, FtpProgressEvent e)
        {
            progressBar1.Invoke(new Action<string, string, long,long>((s, f, v, m) =>
            {
                label1.Text = string.Format("[{0}] {1} Size: {2}/{3}", s, (f), v, m);
                progressBar1.Maximum = (int)m;
                progressBar1.Value = (int)v;
            }), e.FtpMethod, e.FileName, e.Value, e.Max);
        }


[ 本帖最后由 qubo1982 于 2011-11-11 17:28 编辑 ]
2011-11-11 17:24
richardtao
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2017-3-9
收藏
得分:0 
看着代码不错,就是没法运行,
2017-03-21 08:38
richardtao
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2017-3-9
收藏
得分:0 
看不到对象
2017-03-21 08:38
快速回复:【源码】C# 做的FTPClient类库
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019428 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved