使用 Qt 浏览器下载 excel 文件作为附件

Download an excel file as attachment using Qt browser

我正在使用 Qt 浏览器(代码取自 Qt Tab Browser Example)。此 Qt 浏览器成功下载图像文件,但未下载 excel/pdf 文件。我需要通过单击按钮下载一个 excel/pdf 文件作为附件。后端的Excel生成代码使用PHPExcel生成,最后使用'php://output'保存。 在浏览器端,当我阅读 QNetworkReply 的 'readAll()' 函数时,打印了一些编码字符串 '��ࡱ��' 并且 QFile 对象中没有任何内容保存,完全是空文件。

如何从此编码字符串中获取所需的 excel 文件? 请任何帮助。它是 Linux OS,如果重要的话我会使用 LibreOffice。

好了,得到答案了。在将 QNetworkReply 对象的内容读入文件之前,我在控制台上使用 reply->readAll() 打印 QNetworkReply 对象的内容,Qt 文档指出:

QNetworkReply is a sequential-access QIODevice, which means that once data is read from the object, it no longer kept by the device.

因此,我得到了一个空文件。当我打印 'reply' 对象的大小时发现了这个。此外,从 here(Roozbeh's answer).

找到了一些与 eventLoop 相关的帮助

希望它对其他人也有帮助。非常感谢!