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

Posted

技术标签:

【中文标题】使用 Qt 浏览器下载 excel 文件作为附件【英文标题】:Download an excel file as attachment using Qt browser 【发布时间】:2015-04-14 10:11:13 【问题描述】:

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

如何从这个编码字符串中获取所需的 excel 文件? 请,任何帮助。它是 Linux 操作系统,如果需要,我会使用 LibreOffice。

【问题讨论】:

【参考方案1】:

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

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

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

希望它也对其他人有所帮助。谢谢!

【讨论】:

以上是关于使用 Qt 浏览器下载 excel 文件作为附件的主要内容,如果未能解决你的问题,请参考以下文章

TFS WorkItem Excel 附件打开直接更新

Python - 从电子邮件附件下载 excel 文件然后解析它

如何用ABAP代码实现上传本地excel文件,并将其作为附件发邮件

将包含代码的 Excel 文件作为附件发送

使用 vba 在 Outlook 电子邮件中添加 Excel 工作表作为附件

Django,将文件附件作为HttpResponse返回,我可以获得文件大小吗?