我正在尝试创建一个列表,列出在FTP服务器上的文件夹中找到的所有文件名。完整目录与登录凭据一起保存在设置数据库表中。它是连接到FTP区罚款,我可以上传/下载文件,并从它。
这是我从文件夹中获取文件的代码。
lstFiles = new List<string>();
string remoteFTPPath = ftpLocation;
var request = (FtpWebRequest)WebRequest.Create(remoteFTPPath);
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
request.Credentials = new NetworkCredential(ftpUsername, ftpPassword);
request.Proxy = null;
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
List<string> directories = new List<string>();
string line = reader.ReadLine();
while (!string.IsNullOrEmpty(line))
{
directories.Add(line);
line = reader.ReadLine();
}
reader.Close();
为什么会这样?
中的值
remoteFTPPath
是
ftp://ftp.myArea.co.uk/myServer.co.uk/System-Files/
这是我在FileZilla中打开它时的文件夹-它绝对是一个空文件夹。
如何查看系统文件中的所有文件并将其放入列表中?
FileZilla日志:
状态:正在检索目录列表“/myArea.co.uk"...
状态:目录列表“/myArea.co.uk“成功
状态:目录列表“/myArea.co.uk/System-“文件”成功
在C应用程序上测试相同的代码时
Network.log
文件输出如下。
ftp://ftp.myServer.co.uk/myArea.co.uk/System-Files/
)
System.Net 信息:0:[6132]FtpWebRequest#60068066::GetResponse(Method=LIST.)
System.Net 信息:0:[6132]FtpControlStream#34640832-已从创建连接xxx.xxx.x.xx:YYYY到xxx.xxx.xxx.x:年。
System.Net 信息:0:[6132]正在将FtpWebRequest#60068066与FtpControlStream#34640832关联
System.Net 信息:0:[6132]FtpControlStream#34640832-已收到响应[220]FTP服务器就绪。
此服务器上也欢迎使用220-IPv6连接。
System.Net 信息:0:[6132]FtpControlStream#34640832-正在发送命令[USER myUser]
System.Net 信息:0:[6132]FtpControlStream#34640832-收到响应[331 User myUser OK。[需要密码]
System.Net 信息:0:[6132]FtpControlStream#34640832-发送命令[PASS******]
System.Net 信息:0:[6132]FtpControlStream#34640832-收到响应[230正常。当前目录为/]
System.Net 信息:0:[6132]FtpControlStream#34640832-已收到响应[257”/“是您的当前位置]
System.Net 信息:0:[6132]FtpControlStream#34640832-正在发送命令[CWD]/myArea.co.uk/System-[文件]
System.Net 信息:0:[6132]FtpControlStream#34640832-发送命令[类型I]
System.Net 信息:0:[6132]FtpControlStream#34640832-发送命令[PASV]
System.Net 信息:0:[6132]FtpControlStream#34640832-收到响应[227进入被动模式(213171193,5117157)]
System.Net 信息:0:[6132]FtpControlStream#34640832-发送命令[列表]
System.Net 信息:0:[6132]FtpControlStream#34640832-已接收响应[150接受的数据连接]
System.Net 信息:0:[6132]FtpControlStream#34640832-收到的响应[226-ASCII]
总共226个匹配项]
System.Net 信息:0:[6132]FtpWebRequest#60068066::(正在释放FTP连接#34640832。)
System.Net 信息:0:[14644]服务点-关闭为空闲。