2011-12-14 24 views
0

因此,我正在编写一个Spring Web应用程序,该应用程序使用ProcessBuilder在本地服务器上运行一些脚本。这部分似乎运行良好。脚本生成输出文件,然后将它们压缩成单个.zip文件。我想为用户提供一种下载这些文件的方式,但我不确定实现这一目标的最佳方法,甚至不知道如何实现它。如何在Spring App中显示目录?

我试图把目录的路径放到URL中,但我相信因为Spring拦截所有URL并且不知道如何处理指向Zip所在目录或Zip本身的目录,所以我只是得到一个错误。正确的做法是什么?要么显示文件列表或只是链接到文件本身?任何帮助将非常感激,谢谢。

回答

1

从网络应用程序执行任何文件下载的方式是编写一个将文件内容写入http响应输出流的servlet。这是一个here的例子,下载一个Excel文件。

您在网页中获取的目录列表不仅仅是自动发生,您必须编写一个JSP来显示每个链接到文件下载servlet的文件上带有超链接的目录列表。

+0

非常感谢。我不知道这是如何完成的。现在我只需要将它应用到Spring。 – cardician 2011-12-14 18:11:50

0

我环顾四周,找不到一个完整的目录列表示例的春天。虽然实现起来相对比较简单,但是我把一篇博客文章解释为这样,以便在需要时可以快速重用http://krishna-passionatelycurious.blogspot.com/2013/04/file-download-page-using-spring.html

但是,总体方法是遍历目录的内容并生成适当的链接,以便链接指向同一个弹簧处理程序,我们可以根据所访问的链接是否实际指向目录或文件,并再次生成目录列表或流式传输内容以供下载。

这个博客有一个示例实现。