私のプロジェクトでは、単純な .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;
}
プログラムを実行すると、正しいファイル名でファイルが作成されますが、ファイルは空です。Webページに接続している場合、ファイル名は私のプログラムでのみ取得できます。私は何を忘れていますか?ビルド時にエラーは発生せず、必要なライブラリがすべて含まれています。
ありがとう :)
編集:
すべて順調です。私の問題は、リンクが http ではなく https を使用していたことです。