1、 / 指定数据传输类型 reqFTP.UseBinary = true; / ftp用户名和密码 reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword); #region 连接 / / 连接/summaryparam name=path private void Connect(String path)/连接ftp reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(path); #endregion #region ftp登录信息 / ftp登录信息ftpSer
2、verIPftpServerIPftpUserIDftpUserIDftpPasswordftpPassword/returns private string GetFileList(string path, string WRMethods)/上面的代码示例了如何从ftp服务器上获得文件列表 string downloadFiles; StringBuilder result = new StringBuilder(); try Connect(path); reqFTP.Method = WRMethods; WebResponse response = reqFTP.GetRespons
3、e(); 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(),
4、 1); reader.Close(); response.Close(); return result.ToString().Split( catch (Exception ex) System.Windows.Forms.MessageBox.Show(ex.Message); downloadFiles = null; return downloadFiles; public string GetFileList(string path)/上面的代码示例了如何从ftp服务器上获得文件列表 return GetFileList( + ftpServerIP + / + path, WebR
5、equestMethods.Ftp.ListDirectory); public string GetFileList()/上面的代码示例了如何从ftp服务器上获得文件列表, WebRequestMethods.Ftp.ListDirectory); #endregion #region 上传文件 / 上传文件filename public bool Upload(string filename, string path, out string errorinfo) /上面的代码实现了从ftp服务器上载文件的功能 path = path.Replace(, FileInfo fileInf =
6、 new FileInfo(filename); string uri = + path + + fileInf.Name; Connect(uri);/连接 / 默认为true,连接不会被关闭 / 在一个命令之后被执行 reqFTP.KeepAlive = false; / 指定执行什么命令 reqFTP.Method = WebRequestMethods.Ftp.UploadFile; / 上传文件时通知服务器文件的大小 reqFTP.ContentLength = fileInf.Length; / 缓冲大小设置为kb int buffLength = 2048; byte buff
7、= new bytebuffLength; int contentLen; / 打开一个文件流(System.IO.FileStream) 去读上传的文件 FileStream fs = fileInf.OpenRead(); / 把上传的文件写入流 Stream strm = reqFTP.GetRequestStream(); / 每次读文件流的kb contentLen = fs.Read(buff, 0, buffLength); / 流内容没有结束 while (contentLen != 0) / 把内容从file stream 写入upload stream strm.Write
8、(buff, 0, contentLen); / 关闭两个流 strm.Close(); fs.Close(); errorinfo = 完成; return true; errorinfo = string.Format(因0,无法完成上传, ex.Message); return false; #region 续传文件 / 续传文件 public bool Upload(string filename, long size,string path, out string errorinfo) /上面的代码实现了从ftp服务器上载文件的功能 /string uri = + path; / 指定执行什么命令 reqFTP.Method = WebRequestMethods.Ftp.AppendFile; StreamReader dsad = new StreamReader(fs); fs.Seek(size, SeekOrigin.Begin);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1