2011-12-14 60 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

但是,總體方法是遍歷目錄的內容並生成適當的鏈接,以便鏈接指向同一個彈簧處理程序,我們可以根據所訪問的鏈接是否實際指向目錄或文件,並再次生成目錄列表或流式傳輸內容以供下載。

這個博客有一個示例實現。