2011-04-14 66 views
0

我對Java很陌生。我試圖製作一個Vaadin portlet,我需要基本上允許用戶下載文件。該文件可通過需要基本身份驗證(用戶名和密碼)的GET請求訪問。用戶可以看到這些憑據,因爲他們將是他們的。用Java編寫Portlet流文件

我知道我可以將文件下載到託管portlet的服務器,然後使其可用。但其中一些文件很大(大約超過500 MB)。是否有可能處理傳入文件(不保存到服務器)並將其傳遞給用戶?

任何建議或建議都會有幫助,我唯一真正的經驗就是將文件保存到本地計算機(本例爲csv),然後讓用戶下載它。

謝謝!

回答

1

您可能不想將要提供的文件的全部內容存儲在內存中。如何將它保存在數據庫中,然後將它從那裏流出!您可以使用PreparedStatement#setBinaryStream 將獲得的InputStream寫入數據庫。另請參閱Apache FileUpload