【问题标题】:How to let user download a pdf file right after he visits a jsp page?如何让用户在访问jsp页面后立即下载pdf文件?
【发布时间】:2015-07-08 22:24:31
【问题描述】:

简单的问题,我在页面加载时生成了一个 pdf,随后我想让用户下载该文件。

有办法吗?在创建 pdf 后显示下载对话框?

我试过这个:

<%response.setHeader("Content-Disposition", "attachment; filename=\""+filename+"\"");%>

但是我在哪里定义,我希望用户下载哪个文件?因为上面的代码会导致用户下载一些损坏的空pdf文件。

【问题讨论】:

  • 必须是可能的......你能显示你的页面和pdf生成的代码吗?
  • 我知道这是可能的,但我该怎么做呢?此处不需要生成 pdf 的代码,因为它已成功创建。现在我只需要让用户下载它。
  • 设置此标头后需要将pdf内容发送到浏览器。我认为在你的页面内有一个隐藏的 iframe 会更容易,它指向一个输出这个标题和 pdf 内容的脚本。否则,用户将在下载文件后/下载文件时看到一个空白页面。
  • 用户看到什么页面并不重要,我只想让他下载未损坏的文件:)。

标签: java jsp pdf


【解决方案1】:

我建议您使用 Servlet 而不是 JSP 来执行此操作。您对代码有更多的控制权并且它不那么脆弱(如果您在 JSP 中处理响应内容,并且您的 scriptlet 之间甚至有一个空格或换行符,可以将其写入输出流 损坏文件内容)。

所以看看这个FileServlet example 并根据您的需要调整它。

【讨论】:

  • 你也可以用 JSP 来做,但是很丑。
猜你喜欢
  • 2012-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多