资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
c#实现FTP方法(一)-FtpWebRequestclass FTP_Class string ftpServerIP; string ftpUserID; string ftpPassword; FtpWebRequest reqFTP; public void Connecttest(string ftpServerIP, string ftpUserID, string ftpPassword) / 根据uri创建FtpWebRequest对象 reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftp:/ + ftpServerIP); / 指定数据传输类型 reqFTP.UseBinary = true; / ftp用户名和密码 reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword); #region 连接 / / 连接 / / private void Connect(String path)/连接ftp / 根据uri创建FtpWebRequest对象 reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(path); / 指定数据传输类型 reqFTP.UseBinary = true; / ftp用户名和密码 reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword); #endregion #region ftp登录信息 / / ftp登录信息 / / ftpServerIP / ftpUserID / ftpPassword public void FtpUpDown(string ftpServerIP, string ftpUserID, string ftpPassword) this.ftpServerIP = ftpServerIP; this.ftpUserID = ftpUserID; this.ftpPassword = ftpPassword; #endregion #region 获取文件列表 / / 获取文件列表 / / / / private string GetFileList(string path, string WRMethods)/上面的代码示例了如何从ftp服务器上获得文件列表 string downloadFiles; StringBuilder result = new StringBuilder(); try Connect(path); reqFTP.Method = WRMethods; WebResponse response = reqFTP.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8);/中文文件名 string line = reader.ReadLine(); while (line != null) result.Append(line); result.Append(n); line = reader.ReadLine(); / to remove the trailing n result.Remove(result.ToString().LastIndexOf(n), 1); reader.Close(); response.Close(); return result.ToString().Split(n); catch (Exception ex) System.Windows.Forms.MessageBox.Show(ex.Message); downloadFiles = null; return downloadFiles; public string GetFileList(string path)/上面的代码示例了如何从ftp服务器上获得文件列表 return GetFileList(ftp:/ + ftpServerIP + / + path, WebRequestMethods.Ftp.ListDirectory); public string GetFileList()/上面的代码示例了如何从ftp服务器上获得文件列表 return GetFileList(ftp:/ + ftpServerIP + /, WebRequestMethods.Ftp.ListDirectory); #endregion #region 上传文件 / / 上传文件 / / public bool Upload(string filename, string path, out string errorinfo) /上面的代码实现了从ftp服务器上载文件的功能 path = path.Replace(, /); FileInfo fileInf = new FileInfo(filename); string uri = ftp:/ + path + / + fileInf.Name; Connect(uri);/连接 / 默认为true,连接不会被关闭 / 在一个命令之后被执行 reqFTP.KeepAlive = false; / 指定执行什么命令 reqFTP.Method = WebRequestMethods.Ftp.UploadFile; / 上传文件时通知服务器文件的大小 reqFTP.ContentLength = fileInf.Length; / 缓冲大小设置为kb int buffLength = 2048; byte buff = new bytebuffLength; int contentLen; / 打开一个文件流(System.IO.FileStream) 去读上传的文件 FileStream fs = fileInf.OpenRead(); try / 把上传的文件写入流 Stream strm = reqFTP.GetRequestStream(); / 每次读文件流的kb contentLen = fs.Read(buff, 0, buffLength); / 流内容没有结束 while (contentLen != 0) / 把内容从file stream 写入upload stream strm.Write(buff, 0, contentLen); contentLen = fs.Read(buff, 0, buffLength); / 关闭两个
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号