设为首页 收藏本站
查看: 758|回复: 0

c# 文件上传、带进度(FTP类)[转]

[复制链接]

尚未签到

发表于 2015-5-26 13:32:52 | 显示全部楼层 |阅读模式
实现效果:
         
http://www.smartgz.com/Blog/Uploads/2008/040310D04.PNG  
功能描述:
建立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.iyunv.com/fmxyw/admin/ftp://192.168.43.55/"), "temp", "temp");
            string localFile = Application.StartupPath.ToString() + "http://www.iyunv.com/fmxyw/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 = "";
            }
        }
link

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-70930-1-1.html 上篇帖子: ftp 匿名访问设置 下篇帖子: 解决FTP的URL访问不能有中文名称的问题,报java.lang.IllegalArgumentException
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表