1

我正在尝试找出一种方法,让我的 Qt 浏览器应用程序可以从我们的 Web 应用程序下载 Word 文档。Web 应用程序是用 ExtJS 编写的,当(在 Chrome 等浏览器中)用户单击“下载报告”按钮时,javascript 事件侦听器检测到该单击并打开 0px0px iframe 并下载文件。我不确定如何在 Qt 中复制此浏览器功能?

当我点击链接时,我会收到网络回复"Operation canceled" 5

什么类/方法最适合检索这些文件?

在此处输入图像描述

4

1 回答 1

4

下载你需要的文件:在这种情况下是一个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发出完成的信号时完成的。这就是我记得的,我认为这就是全部。

于 2012-12-07T11:00:31.557 回答