• 文件上传、带进度(FTP类)




         实现效果:
             
          功能描述:
    建立FTP链接
    支持代理
    多种重载的同步上传文件
    多种重载的异步上传文件
    多种重载的同步下载文件
    多种重载的异步下载文件
    上传文件的进度百分比
    下载文件的进度白分比
    有区分的列出目录或者文件的信息(考虑到MS DOS显示格式和UNIX格式)
    目录或文件存在的判断
    删除文件
    重命名文件、目录
    在FTP服务器上面拷贝、移动文件(许多人可能在苦苦寻找这个功能)
    建立、删除目录
    目录切换操作(很新颖哦 J)
     点击下载代码
        调用方法,目前只用上传功能:
        定义全局私有变量:
     private clsFTP cf;
       按钮事件:
            private void btn_upFile_Click(object sender, EventArgs e)
            {
                lb_upload.Text = "正在上传文件,请等待...";
                 cf = new clsFTP(new Uri("http://www.cnblogs.com/zpq521/admin/ftp://192.168.43.55/"), "temp", "temp");
                string localFile = Application.StartupPath.ToString() + "http://www.cnblogs.com/zpq521/admin/file://output//zt.rar";
                 cf.UploadProgressChanged+=new clsFTP.De_UploadProgressChanged(cf_UploadProgressChanged);
                 cf.UploadFileCompleted+=new clsFTP.De_UploadFileCompleted(cf_UploadFileCompleted);
                 cf.UploadFileAsync(localFile, true);  //调用异步传输,若有文件存在则覆盖。
            }
       事件捆绑,反映上传进度:
            public void cf_UploadProgressChanged(object sender, UploadProgressChangedEventArgs e)
            {
                this.pgrBarFileUpload.Maximum = (int)e.TotalBytesToSend;
                this.pgrBarFileUpload.Value =(int) e.BytesSent;
                lb_upload.Text = string.Format("文件总大小:{0}k,已经上传: {1}k。", e.TotalBytesToSend/1024,e.BytesSent/1024);
            }
            public void cf_UploadFileCompleted(object sender, UploadFileCompletedEventArgs e)
            {
                            try
                {
                    lb_upload.Text = "无法连接到服务器,或者用户登陆失败!";
                    lb_error.Text =e.Error.Message.ToString();
                }
                catch
                {
                    lb_upload.Text = "文件上传成功!";
                    lb_error.Text = "";
                }
            }


     

  • 相关阅读:
    bootstraptreeview 拖拽
    剑指 Offer 40. 最小的k个数
    剑指 Offer 32 II. 从上到下打印二叉树 II
    剑指 Offer 30. 包含min函数的栈
    剑指 Offer 32 III. 从上到下打印二叉树 III
    剑指 Offer 39. 数组中出现次数超过一半的数字
    剑指 Offer 38. 字符串的排列
    剑指 Offer 35. 复杂链表的复制
    剑指 Offer 37. 序列化二叉树
    剑指 Offer 32 I. 从上到下打印二叉树
  • 原文地址:https://www.cnblogs.com/zpq521/p/1607881.html
Copyright © 2020-2023  润新知