我遇到了QFtp的问题。我想用我的服务器中的一行(8字节)下载一个.txt文件,所以我写了下面的代码,但它不起作用。 文件“actions.txt”是在folder1目录中创建的。我可以在客户端看到它的大小。但该文件没有被写入。我收到一个空文件。使用QFtp下载单个.txt文件
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 :: get'的时候指定传输类型为'Ascii'? (我假设'action.txt'是一个ASCII文本文件。)另外,你可能想看看'QFtp :: get'的文档;我发现它的文档表明它启动了一个异步操作,并可能在它完成之前返回。在关闭连接和输出文件之前,您可能需要等待它完成。 – reuben 2012-07-08 21:54:39
已经尝试了Ascii传输类型,仍然没有工作。我试图根本不关闭文件。并在一段时间后关闭。无论如何,感谢您的帮助。 – 2012-07-08 22:25:34