Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 用Qt下载文件?_C++_Qt_Networking_Qtnetwork - Fatal编程技术网

C++ 用Qt下载文件?

C++ 用Qt下载文件?,c++,qt,networking,qtnetwork,C++,Qt,Networking,Qtnetwork,我正在试图找到一种方法,让我的Qt浏览器应用程序可以从我们的web应用程序下载word文档。web应用程序是用ExtJS编写的,当(在Chrome等浏览器中)用户单击“下载报告”按钮时,javascript事件侦听器检测到该按钮并打开0px0px iframe和文件下载。我不知道如何在Qt中复制此浏览器功能 当我点击链接时,我得到了一个网络回复“操作已取消”5 检索这些文件的最佳类/方法是什么 下载所需文件:QNetworkAccessManager(本例中为http)。 此案例文件中的QFil

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

当我点击链接时,我得到了一个网络回复
“操作已取消”5

检索这些文件的最佳类/方法是什么


下载所需文件:QNetworkAccessManager(本例中为http)。 此案例文件中的QFile。 QNetworkReply,在本例中为reply 将应答连接到一个插槽,该插槽写入通过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发出完成信号时完成。。
这就是我所记得的,我想下载一个你需要的文件就足够了:一个QNetworkAccessManager,在这个例子中是http。 此案例文件中的QFile。 QNetworkReply,在本例中为reply 将应答连接到一个插槽,该插槽写入通过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发出完成信号时完成。。
这就是我所记得的,我想这就是全部。

只是一个黑暗中的镜头:您是否签入了值?特别是像JavascriptCanOpenWindows之类的东西?感谢您的提示,我现在已经启用了它,但仍然没有效果,当我单击“下载报告”链接时,操作将中止。我认为这是NetworkAccessManager的一项工作,但不确定如何实现它?只是瞎猜:您是否签入了值?特别是像JavascriptCanOpenWindows之类的东西?感谢您的提示,我现在已经启用了它,但仍然没有效果,当我单击“下载报告”链接时,操作将中止。我认为这是NetworkAccessManager的工作,但不确定如何实现它?