使用JSP下载文件

时间:2010-10-23 20:15:53

标签: java jsp servlets

我目前正在尝试使用JSP来构建一些小型的litle应用程序,并且没有陷入困境,从Web服务器下载文件。我似乎无法弄清楚我应该如何完成这项任务。

这里是否有任何JSP开发人员知道如何解决这个问题并指出我的方向正确?

1 个答案:

答案 0 :(得分:6)

如果资源是静态的,只需将其放在公共webcontent(JSP / HTML / CSS / JS / etc文件也在那里),并在JSP中包含指向它的链接。

<a href="file.ext">download</a>

servletcontainer会担心设置正确的HTTP响应头。​​

如果资源是动态的,请创建一个servlet,以某种方式(InputStreamnew FileInputStream等等获取内容的resultSet.getBinaryStream()并将其写入{至少在OutputStreamContent-Type响应标头中的响应的{1}}。最后,只需链接到JSP中的servlet即可。

Content-Disposition

您可以在this article中找到一个基本示例。

<a href="fileservlet/file.ext">download</a> 标头通知客户端文件的内容类型,以便它知道应该使用哪个应用程序来打开它。 Content-Type标题会通知客户端如何处理它,将其显示为内联或另存为附件。