我目前正在尝试使用JSP来构建一些小型的litle应用程序,并且没有陷入困境,从Web服务器下载文件。我似乎无法弄清楚我应该如何完成这项任务。
这里是否有任何JSP开发人员知道如何解决这个问题并指出我的方向正确?
答案 0 :(得分:6)
如果资源是静态的,只需将其放在公共webcontent(JSP / HTML / CSS / JS / etc文件也在那里),并在JSP中包含指向它的链接。
<a href="file.ext">download</a>
servletcontainer会担心设置正确的HTTP响应头。
如果资源是动态的,请创建一个servlet,以某种方式(InputStream
,new FileInputStream
等等获取内容的resultSet.getBinaryStream()
并将其写入{至少在OutputStream
和Content-Type
响应标头中的响应的{1}}。最后,只需链接到JSP中的servlet即可。
Content-Disposition
您可以在this article中找到一个基本示例。
<a href="fileservlet/file.ext">download</a>
标头通知客户端文件的内容类型,以便它知道应该使用哪个应用程序来打开它。 Content-Type
标题会通知客户端如何处理它,将其显示为内联或另存为附件。