Qt的QFtp能进行阻塞吗?
我有个函数GetFile(int flag, char* GetFileInfo, char* ErrInfo),作用是从服务器下载文件,
然后根据flag分为直接获取文件和只获取内容到 GetFileInfo ,从而删除文件。
我的做法是通过一系列的QFtp调用,
char *filepath = "D:\\TEST.file";
char *filename = "TEST.file";
ftp.connectToHost("192.168.126.128");
ftp.login("USER_FTP","123456");
ftp.cd("/tmp/dwntmp/");
file.setFileName(filepath);
if (!file.open(QIODevice::ReadWrite))
{
return -1;
}
ftp.get(filename, &file, QFtp::Binary);
if (GetFileInfo == NULL)
flag = 1;
if (flag == 0)
{
QString line;
while ( !file.atEnd() )
{
line = file.readLine();
strcat(GetFileInfo, line.toStdString().c_str());
}
remove(filepath); /*删除文件*/
}