我开发了一个GWT应用程序,它在服务器上创建一个PDF文件,然后将其传输到客户端。在客户端,出现一个窗口,允许用户进行
- 以指定给文件名的程序结尾打开它,或者
- 将其保存到光盘
我已经阅读了几个关于这个主题的线程,例如
- 用户如何在客户端下载文件(Google Web Toolkit)
- GWT:显示作为POST响应创建的PDF
- 用户如何在客户端下载文件(Google Web Toolkit)
这帮助我在打印servlet中编码doGet()-方法,如下所示:
resp.setContentType("application/octet-stream");
resp.setHeader("Content-Disposition:", "attachment; filename="" + fileName + """);
当使用本地GWT开发服务器进行测试和调试时,这一功能可以很好地工作。
但我的大问题是:
在部署到GAE并在GAE上运行代码后,创建的pdf名称不会传输到客户端
名称仅由单词print组成,而不是例如TestPdf-25072016.pdf。
这导致了当我想打开PDF时,PDF的标准程序不会自动调用。当然,打印并不是我想要的PDF的名称。。。
我的失败在哪里?尤其是我感到困惑的是,当使用本地开发服务器时,一切都很好?
非常感谢您的支持!
当您在GAE中调用打印时,您可以使用Wireshark或Fiddler之类的工具来捕获发送给您的实际HTTP标头。也许GAE正在调整标题或只是阻止它。