VS2008 , WEB,C#,如何获取ftp上某一个路径下所有文件列表
开发环境:VS2008、WEB项目、C#后台语言
目的:获取ftp上一个路径下所有文件的列表
ftp信息如下:
ftp://192.168.1.3
用户名:test
密码:test
我要获取如下路径下的文件列表(文件名,不包含后缀)
ftp://192.168.1.3/TV/PATTERN
该路径下会有几十至几百个如下文件
L100.pt
L101.pt
L102.pt
....
我要获取
L100
L101
L102
...
[解决办法]
/// <summary> /// 根据ftp路径返回目录下的文件名称 不带扩展名 /// </summary> /// <param name="ftpDir"></param> /// <param name="userName"></param> /// <param name="passWord"></param> /// <returns></returns> public static ArrayList GetFileNames(string ftpDir, string userName, string passWord) { var fileNames = new ArrayList(); var reqFtp = (FtpWebRequest)WebRequest.Create(new Uri(ftpDir)); reqFtp.UsePassive = false; reqFtp.UseBinary = true; //reqFTP.EnableSsl = true;//加密方式传送数据 FTP 服务器要支持 reqFtp.Credentials = new NetworkCredential(userName, passWord); reqFtp.Method = WebRequestMethods.Ftp.ListDirectory; var response = (FtpWebResponse)reqFtp.GetResponse(); var reader = new StreamReader(response.GetResponseStream(), Encoding.Default); string fileName = reader.ReadLine(); while (fileName != null) { fileNames.Add(Path.GetFileNameWithoutExtension(fileName)); fileName = reader.ReadLine(); } reader.Close(); response.Close(); //var fileNames = reader.ReadToEnd(); reader.Close(); response.Close(); return fileNames; }