Я пытаюсь выяснить, как мое приложение для браузера Qt может загрузить текстовый документ из нашего веб-приложения. Веб-приложение написано на ExtJS, когда (в браузере, таком как Chrome) пользователь нажимает кнопку «Загрузить отчет», прослушиватель событий javascript обнаруживает этот щелчок и открывает фрейм 0px0px и загружает файл. Я не уверен, как воспроизвести эту функцию браузера в Qt?
Когда я нажимаю на ссылку, я получаю сетевой ответ "Operation canceled" 5
?
Какой класс / метод будет лучше для получения этих файлов?
чтобы скачать файл вам нужно: QNetworkAccessManager в этом случае HTTP.
QFile в этом случае файл.
QNetworkReply в этом случае Ответить
соедините ответ со слотом, который записывает байты, полученные через QNetworkAccessManager в этом случае слот называется readingReadyBytes ()
поэтому я создаю запрос и подключаюсь к своему слоту:
const QNetworkRequest& request = QNetworkRequest(url);
reply = http->get(request);
QObject::connect(reply, SIGNAL(readyRead()), this,
SLOT( readingReadyBytes() ));
тогда я создаю свой слот:
void yourClass::readingReadyBytes() {
file->write(reply->read(reply->bytesAvailable()));
}
наконец, вы должны сохранить и закрыть файл. как правило, делается, когда QNetworkAccessManager испускать законченный сигнал..
это то, что я помню, и я думаю, что это все ..
Других решений пока нет …