Как скачать сгенерированный файл с помощью Qt? - PullRequest
0 голосов
/ 04 ноября 2011

Я делаю программу, которая требует загрузки файла. До сих пор я работал с загрузками типа http://www.w3schools.com/xml/note.xml. Поскольку это прямая ссылка на файл, у меня не было проблем с ним. Но как мне скачать с http://saraksti.rigassatiksme.lv/?stotele=vef&a=p.search&t=xml&day=1-5&l=lv. Все, что я получаю, это http://saraksti.rigassatiksme.lv/index.html

Извините за поздний код. Это функция, которую я использую. скрипт скачать URL переменная слеш зависит от ОС. </p> <pre>void PValidatorPlugin::downloadScript(QString script) { #ifdef WIN32 QString slash = "\\"; #else QString slash = "/"; #endif QFileInfo fileInfo(script); QString fileName; if(fileInfo.fileName().isEmpty()) { fileName = "pValidator.script"; } else { fileName = fileInfo.fileName(); } QFile file(QDesktopServices::storageLocation(QDesktopServices::TempLocation) + slash + fileName); if (file.exists()) { return; } QNetworkAccessManager* m_NetworkMngr = new QNetworkAccessManager(Core::ICore::instance()->mainWindow()); QUrl aUrl(script); QNetworkReply *reply= m_NetworkMngr->get(QNetworkRequest(aUrl)); QEventLoop loop; connect(reply, SIGNAL(finished()),&loop, SLOT(quit())); loop.exec(); file.open(QIODevice::WriteOnly); file.write(reply->readAll()); delete reply; }

1 Ответ

0 голосов
/ 05 ноября 2011

Вы должны убедиться, что QUrl правильно построен из вашего QString. Разница между первым URL (который, кажется, работает) и фактическим заключается в том, что теперь у вас есть QueryItems.

Если это не дает подсказки, попробуйте прослушать трафик (например, используя tcpdump или Wireshark , ранее известный как ethereal), чтобы увидеть переданный запрос и его ответ. * +1010 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...