在我的项目中,我需要下载一个简单的 .txt 文件。我创建了一个函数来根据 url 下载文件:
void MainWindow::downloadFile(const QString &url, const QString &aPathInClient)
{
QNetworkAccessManager* m_NetworkMngr = new QNetworkAccessManager(this);
QNetworkReply *reply = m_NetworkMngr->get(QNetworkRequest(QUrl(url)));
QEventLoop loop;
connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
loop.exec();
QUrl aUrl(url);
QFileInfo fileInfo=aUrl.path();
QFile file(aPathInClient+"\\"+fileInfo.fileName());
file.open(QIODevice::WriteOnly);
file.write(reply->readAll());
delete reply;
}
运行我的程序时,会使用正确的文件名创建文件,但文件为空。如果连接到网页,文件名只能由我的程序获取。我忘记了什么?我在构建时没有收到任何错误,并且包含了所有必要的库。
谢谢 :)
编辑:
一切都很好,我的问题是我的链接使用 https 而不是 http。