2012-12-09 16 views
0

我使用JSF 2.0和tomcat 7.0。要下載我使用的文件org.apache.commons.io.FileUtils.copyURLToFile(url, new File("file.xls"));如何指定下載文件的目的地

如何指示默認目標,因爲現在文件保存在工作區目錄中?我想下載我的文件到所有用戶的默認下載目錄。例如,在Windows系統中,所有下載的文件都保存在「下載」中。感謝:)

+0

+1好問題。爲什麼這麼複雜?不能讓用戶指定下載位置。 – vels4j

+0

解決方法是1.搜索如何在java中查找默認瀏覽器2.檢查如何獲取該瀏覽器的下載文件夾位置。這裏是一個鏈接http://unlockforus.blogspot.in/2008/07/how-to-find-or-specify-download.html – vels4j

+0

順便說一下你的代碼看起來,你應該在創建新的'文件對象:'新文件(pathToDownload +「file.xls」)'。嘗試使用基本路徑(例如Windows中的「C:\\ downloads \\」或un Unix/Linux中的「/ home/myUser/downloads」)。 –

回答

0

只需在File構造函數中指定所需的目標文件夾即可。

File downloads = new File("/path/to/download/folder"); 
// ... 
FileUtils.copyURLToFile(url, new File(downloads, "file.xls")); 

請注意,這個問題與JSF或Tomcat完全無關。在普通的vanilla Java應用程序中這樣做會遇到完全相同的問題。

請注意,我認爲你非常清楚,這行代碼絕對不會將文件從網絡服務器發送到任意網頁瀏覽器。相反,它將文件保存在網絡服務器自己的磁盤文件系統中。當網頁瀏覽器碰巧與網頁瀏覽器在物理上相同的機器上運行時,您只會遇到在「客戶端」保存的文件的「效應」(並且沒有意識到這實際上並沒有在現實世界中發生)。

+0

謝謝,我寧願寫關於寫veks4j的smth。實際上,我更改了我的下載操作以供primefaces提供下載。 – Piotrek

相關問題