当我们第一次在在编写基于ftp协议的客户端程序时,相信在ftp下会犯很多很烦的问题:
一.搞不清楚ftp下文件的路径究竟是怎么样的,比如要putFile()时,里面的路径应该写什么
1.其实ftp下文件路径是:根目录就是“/”,其他的和正常文件目录一样
2.在ftp下设置当前目录时即调用SetCurrentDirectory()函数时路径该怎么写。
比如说我有个文件夹"ss"在根目录下它下面还有文件"123"文件夹,此时我要查找"123"文件夹下的文件目录
那么路径应该写成"/ss/123"这样才能遍历123文件夹下的文件
二. 关于CFtpFileFind 类在遍历过程中的问题
因为MFC中不允许同时存在两个CFtpFileFind类,所以在遍历某一层文件夹时,必须首先把子文件夹先存起来,
本层遍历完之后然后必须关掉CFtpFileFind对象,然后在取出子文件夹进行递归遍历。具体详细看代码。
三.关于在ftp服务器文件在本地系统中的图标获得问题
相信如果是获取本地文件在系统中的图标,直接用SHGetFileInfo函数获取即可
但是如果文件不再本地电脑上而在远程服务器上怎么办呢?
在这里,我的做法是在本地系统下建立一个临时文件,然后得到这个临时文件图标即可,取得图标之后在将临时文件删除就行了。
可能还有其他的做法,比如说通过读注册表得到相关后缀名对应的图标,但是我觉得还是这种建立临时文件的方法比较简