我正在尝试创建一个列表,列出在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();
我遇到的问题是,当前我试图搜索的文件夹是空的,但它找到了2个文件。
为什么会这样?
Remote teFTPPath
中的值是ftp://ftp.myrea.co.uk/myServer.co.uk/System-Files/
这是我在FileZilla中打开它时的文件夹-它肯定是一个空文件夹。
如何查看系统文件中的所有文件并将其放入列表中?
FileZilla日志:
状态:已登录
状态:正在检索“/myArea.co.uk”的目录列表
状态:目录列表“/myArea.co.uk”成功
状态:检索目录列表“/myArea.co.uk/System文件”
状态:“/myArea.co.uk/System Files”目录列表成功
在C#应用程序上测试相同的代码时,网络。记录文件输出,如下所示。
系统网络信息:0:[6132]FtpWebRequest#60068066::。执行器(ftp://ftp.myServer.co.uk/myArea.co.uk/System-Files/)
系统。网络信息:0:[6132]当前操作系统安装类型为“客户端”
系统。网络信息:0:[6132]FtpWebRequest#60068066::GetResponse(方法=列表)
系统。网络信息:0:[6132]FtpControlStream#34640832-已从xxx创建连接。xxx。x、 xx:YYYY至xxx。xxx。xxx。x:YY
系统。网络信息:0:[6132]将FtpWebRequest#60068066与FtpControlStream#34640832系统关联。Net信息:0:[6132]FtpControlStream#34640832-收到响应[220 Matrix FTP服务器就绪。
220这是一个私有系统-此服务器上也不欢迎匿名登录。
220-IPv6连接。
220请注意:您网站的文件必须存储在htdocs目录下。]
系统。网络信息:0:[6132]FtpControlStream#34640832-发送命令[用户myUser]
系统。网络信息:0:[6132]FtpControlStream#34640832-收到响应[331用户myUser确定。需要密码]
系统。Net信息:0:[6132]FtpControlStream#34640832-发送命令[PASS*********]
系统。网络信息:0:[6132]FtpControlStream#34640832-收到响应[230正常。当前目录为/]
系统。网络信息:0:[6132]FtpControlStream#34640832-发送命令[OPTS utf8 on]
系统。网络信息:0:[6132]FtpControlStream#34640832-接收到响应[500未知命令]
系统。网络信息:0:[6132]FtpControlStream#34640832-发送命令[PWD]
系统。网络信息:0:[6132]FtpControlStream#34640832-收到的响应[257”/“是您的当前位置]
系统。网络信息:0:[6132]FtpControlStream#34640832-发送命令[CWD/myArea.co.uk/System Files]
系统。网络信息:0:[6132]FtpControlStream#34640832-收到响应[250确定。当前目录为/myArea.co.uk/System Files]
System。网络信息:0:[6132]FtpControlStream#34640832-发送命令[类型I]
系统。网络信息:0:[6132]FtpControlStream#34640832-接收到的响应[200类型现在是8位二进制]
系统。网络信息:0:[6132]FtpControlStream#34640832-发送命令[PASV]
系统。网络信息:0:[6132]FtpControlStream#34640832-接收到响应[227进入被动模式(213171193,5117157)]
系统。网络信息:0:[6132]FtpControlStream#34640832-发送命令[列表]
系统。网络信息:0:[6132]FtpControlStream#34640832-接收到响应[150接受的数据连接]
系统。网络信息:0:[6132]FtpControlStream#34640832-收到的响应[226-ASCII
226选项:-a-l
226 2个匹配总数]
系统。网络信息:0:[6132]FtpWebRequest#60068066::(正在释放FTP连接#34640832。)
系统。网络信息:0:[14644]服务点#33675143-关闭为空闲。
许多FTP服务器返回目录列表中的.
和...
条目,类似于*nixls-a
或Windowsdir
命令。它们分别是对目录本身和父目录的引用。
对于任何目录,甚至是空目录(有时[例如,在Windows服务器上],根文件夹除外),您都会得到这些文件。
如果您不想要这些,您需要在代码中过滤掉它们。FileZilla所做的也很确定。
问题内容: 我试图递归遍历登录FTP服务器后到达的整个根目录。 我能够连接,我真正想要做的就是遍历整个结构,然后下载每个文件和文件夹,并使其具有与FTP相同的结构。到目前为止,我所能提供的是一种有效的下载方法,它可以到达服务器并获取我的整个文件结构,这很不错,只是第一次尝试失败,然后第二次尝试成功。我得到的错误如下: java.io.FileNotFoundException:输出目录\ test
我的问题很简单,但我什么也找不到。 我有一个列表类和一个用于XML序列化的入口类: 我试图解析这个XML,它在列表中没有任何条目: 返回以下错误: 我做错了什么?元素列表设置为空=真,必需=假。有人能帮忙吗?
我正在创建一个允许调整gif大小的小类。为此,我创建了一个包含所有帧的临时目录,调整它们的大小,然后再次创建gif。 创建gif后,我想删除我的临时目录。但一旦我的所有文件都被删除,我就会出现以下错误: 警告:目录不为空 这是我的密码: 这是我得到的: 正如您所看到的,没有隐藏文件,因为scandir没有返回任何文件<如你所见,我尝试了这个解决方案,但没有成功 我可以手动删除它,一旦代码完成,里面
问题内容: 我只能通过FTP访问远程服务器上的目录,并且希望在目录中出现新文件后立即获取它们。 是否有FAM for Python之类的东西可以让我通过FTP监视新文件? 问题答案: 如果轮询服务器是一种选择:
我只是在学习powershell,但遇到了这个让我难堪的错误。目标是获取csv文件并确定文件中有多少组。每个组下都有多个条目。最终结果将是根据组将文件拆分为不同的数组/字典/whathaveyou(我在3小时前开始使用powershell…),保持Taxonid完整,然后将它们导出到单独的文件。但现在,我只是处于比较阶段。 我的练习数据看起来像 真实的数据是这样的: 为此,我尝试将一行中的组与下一
嗨,当我想删除空目录时,我遇到以下错误: 警告:rmdir():目录不为空 功能: 当有文件时,它会在没有警告的情况下删除所有文件(也应该删除文件夹)