BK网络学院

首页搜索登录
首页业界网页平面多媒体程序数据库办公工具服务器系统网络安全站长认证壁纸
加入收藏 | 网站地图 | | RSS | WAP
你好,游客 登录 注册 搜索

C#实现FTP文件上传、下载、删除功能

C#实现FTP文件上传功能

[日期:2013-04-22] 作者: 来源: [字体: ]

C#对FTP功能已经封装的非常成熟了,所以我们用C#开发FTP文件的上传下载、删除功能其实很简单,我们大可不必直接使用socket写一堆堆的代码。

先说FTP文件上传功能:

/// <summary>

        /// FTP上传文件

        /// </summary>

        /// <param name="fileUpload">上传控件</param>

        /// <param name="ftpServerIP">上传文件服务器IP</param>

        /// <param name="ftpUserID">服务器用户名</param>

        /// <param name="ftpPassword">服务器密码</param>

        /// <returns></returns>

        public  string Upload(FileUpload fileUpload, string ftpServerIP, string ftpUserID, string ftpPassword)

        {

            string filename = fileUpload.FileName;

            string sRet = "上传成功!";

            FileInfo fileInf = new FileInfo(fileUpload.PostedFile.FileName);

            string uri = "ftp://" + ftpServerIP + "/" + filename;

            FtpWebRequest reqFTP;

 

            // 根据uri创建FtpWebRequest对象 

            reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));

 

            // ftp用户名和密码

            reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);

 

            // 默认为true,连接不会被关闭

            // 在一个命令之后被执行

            reqFTP.KeepAlive = false;

 

            // 指定执行什么命令

            reqFTP.Method = WebRequestMethods.Ftp.UploadFile;

 

            // 指定数据传输类型

            reqFTP.UseBinary = true;

            reqFTP.UsePassive = false;

 

            // 上传文件时通知服务器文件的大小

            reqFTP.ContentLength = fileInf.Length;

 

            // 缓冲大小设置为2kb

            int buffLength = 2048;

 

            byte[] buff = new byte[buffLength];

            int contentLen;

 

            // 打开一个文件流 (System.IO.FileStream) 去读上传的文件

            FileStream fs = fileInf.OpenRead();

 

            try

            {

                // 把上传的文件写入流

                Stream strm = reqFTP.GetRequestStream();

 

                // 每次读文件流的2kb

                contentLen = fs.Read(buff, 0, buffLength);

 

                // 流内容没有结束

                while (contentLen != 0)

                {

                    // 把内容从file stream 写入 upload stream

                    strm.Write(buff, 0, contentLen);

 

                    contentLen = fs.Read(buff, 0, buffLength);

                }

 

                // 关闭两个流

                strm.Close();

                fs.Close();

            }

            catch (Exception ex)

            {

                sRet = ex.Message;

            }

            return sRet;

        }

关键词:上传  下载  文件  删除  FTP 

【内容导航】
第1页:C#实现FTP文件上传功能 第2页:C#实现FTP文件下载功能
第3页:C#实现FTP文件删除功能
收藏 推荐 打印 | 录入:blue1000 | 阅读:
本文评论   查看全部评论 (1)
表情: 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事/刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 1 楼
* 匿名 发表于 2016/12/24 19:52:57
http://www.blue1000.com/bkhtml/c149/2013-09/71351.htm 我的家庭作文 http://www.blue1000.com/details/zs860.html 乡下美景作文 http://www.blue1000.com/details/zs417.html