我正在尝试找出一种方法,让我的 Qt 浏览器应用程序可以从我们的 Web 应用程序下载 Word 文档。Web 应用程序是用 ExtJS 编写的,当(在 Chrome 等浏览器中)用户单击“下载报告”按钮时,javascript 事件侦听器检测到该单击并打开 0px0px iframe 并下载文件。我不确定如何在 Qt 中复制此浏览器功能?
当我点击链接时,我会收到网络回复"Operation canceled" 5
?
什么类/方法最适合检索这些文件?
我正在尝试找出一种方法,让我的 Qt 浏览器应用程序可以从我们的 Web 应用程序下载 Word 文档。Web 应用程序是用 ExtJS 编写的,当(在 Chrome 等浏览器中)用户单击“下载报告”按钮时,javascript 事件侦听器检测到该单击并打开 0px0px iframe 并下载文件。我不确定如何在 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发出完成的信号时完成的。这就是我记得的,我认为这就是全部。