2010-10-23 72 views
1

我目前正在嘗試使用JSP構建一些小型應用程序,並且沒有卡住某些東西,從web服務器下載文件。我似乎無法解決我應該如何去完成這項任務。使用JSP下載文件

是否有任何JSP開發人員知道這件事情,並指出我朝着正確的方向發展?

+0

[JSP頁面沒有用於將數據導出到Excel表格的HTML代碼]的可能重複(http://stackoverflow.com/questions/1755509/jsp-page-without-html-code-for-exporting-data-to- excel-sheet) – BalusC 2010-10-23 20:24:17

+0

如果您重新提出您的問題並更具體地說明您需要什麼建議,那麼您會得到更好的答案 – Yoni 2010-10-23 20:26:45

+0

我的意思是,將使用什麼類來下載文件,它不一定是CSV文件,它可以是什麼,但我怎麼去從服務器使用Java下載文件 – 2010-10-23 20:32:30

回答

6

如果資源是靜態的,只需將其放入公共webcontent(您的JSP/HTML/CSS/JS/etc文件所在的位置),並在JSP中包含一個鏈接。

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

servletcontainer會擔心設置正確的HTTP響應頭。

如果資源是動態的,創建用於獲得所述內容的InputStream不知何故一個servlet(new FileInputStreamresultSet.getBinaryStream(),etc..etc ..),並將其寫入到至少沿着Content-TypeContent-Disposition響應的響應的OutputStream頭。最後只需鏈接到JSP中的那個servlet。

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

你可以在this article找到一個基本的例子。

Content-Type標頭通知客戶有關該文件的內容類型,以便它知道它應該用來打開它的應用程序。 Content-Disposition標題通知客戶端如何處理它,以內聯方式顯示或保存爲附件。

+0

這將是關於使用servlets/jsp下載文件的第100個問題:)無論如何+1 – Bozho 2010-10-23 22:04:33