本文是记录我再使用在Qt5.5上实现一次性将文件夹及其全部子文件 全部上传FTP服务端的方法,记录主要的技术点及其源码。
从 Qt5 之后,Qt Network 发生了很大的变化,Qt5已经废除 QFtp 和 QUrlInfo 类,改用 QNetworkAccessManager。要想使用QFtp,需要现在Qt5中添加QFtp模块
添加步骤: Qt5.5中使用QFtp类
1、递归获取要上传的文件夹及其子文件的文件名
需要上传的文件夹中包含有子文件、文件夹,可能存在多级目录,需要递归的获取全部文件的文件名,遇到文件夹就在再FTP服务端先创建文件夹。
获取文件名的函数代码
struct fileName_s
{
int d_type; /* the type of d_name 文件类型 */
char d_name [256]; /* file name (null-terminated) 文件名,最长255字符 */
int filesize;
};
struct fileName_s filename[128];
int g_fil