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

时间:2015-04-14 10:11:13

标签: qt download qnetworkaccessmanager qnetworkreply

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

如何从此编码字符串中获取所需的excel文件? 请帮忙。它是Linux操作系统,如果重要的话我使用LibreOffice。

1 个答案:

答案 0 :(得分:1)

嗯,得到了答案。我在控制台上使用reply-> readAll()打印QNetworkReply对象的内容,然后将其读入文件,Qt文档说明:

  

QNetworkReply是一个顺序访问QIODevice,这意味着一次   数据从对象中读取,不再由设备保存。

因此,我最终得到一个空文件。当我打印'回复'对象的大小时找到这个。另外,从here(Roozbeh's answer)找到了一些eventLoop相关的帮助。

希望它也有助于其他人。谢谢!