QFtp出现问题。我想从服务器上下载一行一行(8个字节)的.txt文件,因此我编写了以下代码,但它不起作用。
文件“ actions.txt”是在folder1目录中创建的。我可以在客户端看到它的大小。但是文件没有被写入。我收到一个空文件。
QFile* actionFile = new QFile("action.txt");
QFtp *ftp = new QFtp(parent);
void Dialog::getActionFile()
{
actionFile->open(QIODevice::WriteOnly);
ftp->connectToHost("mydomain.de");
ftp->login("user", "pw");
ftp->cd("folder1");
ftp->get("action.txt",actionFile);
ftp->close();
actionFile->close();
}
提前致谢。
最佳答案
QFtp
的几种方法的文档说:
该函数不会阻塞并立即返回。该命令是
计划,并且其执行是异步执行的。功能
返回由commandStarted()
传递的唯一标识符,然后
commandFinished()
。
因此,您需要等待适当的信号发出。
请注意,您也可以使用QNetworkRequest
来请求整个ftp URL(我想甚至在URL中包含用户名和密码)都可以下载文件。