使用 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 文件作为附件的主要内容,如果未能解决你的问题,请参考以下文章
Python - 从电子邮件附件下载 excel 文件然后解析它
如何用ABAP代码实现上传本地excel文件,并将其作为附件发邮件