2016-01-21 49 views
-1

我上傳了新應用Jboss 7從html頁面下載文件不起作用

這個應用程序,其他的東西,可以創建文件,保存並快速下載html5標籤。 生成後,該文件保存在我得到 getServletContext().getRealPath("/");

利用服務器日誌,我可以告訴大家,這些行動完全可以做到的絕對路徑。 該文件已創建並保存。 問題出在下載部分。

我正在下載帶有html5標記的文件。 <a href=path+file name> download>Get Numbers!</a>

我使用的是與我用來在服務器上保存文件完全相同的路徑,並且我一直在從Chrome獲取fail-no file錯誤。

想法?

+0

該鏈接正在生成的實際URL是什麼?服務器對請求的迴應是什麼? – David

+0

保存文件的路徑是「/opt/repo/versions/7.1/standalone/tmp/vfs/tempc56e386fb58c08a8/SlL.war-269016b5c31c942c/serial.xls,該鏈接的網址是Get Numbers! Robokof

+0

並且您的網站*是否有*那條路徑?看起來更像是一個文件系統路徑... – David

回答

0

我使用的正是我用來將文件保存在服務器

有問題上的相同路徑。您的文件路徑是這樣的:

/opt/repo/versions/7.1/standalone/tmp/vfs/tempc56e386fb58c08a8/SlL.war-269‌​016b5c31c942c/serial.xls 

這讓從文件系統中的文件時的罰款服務器上。但是,這條道路對網絡瀏覽器毫無意義。 Web瀏覽器正在向Web服務器請求文件,該文件對於Web服務器已知。

因此,舉例來說,如果你的Web服務器根目錄是在這裏:

/opt/mywebserver 

然後這條道路最終要求是:

/opt/webserver/opt/repo/versions/7.1/standalone/tmp/vfs/tempc56e386fb58c08a8/SlL.war-269‌​016b5c31c942c/serial.xls 

該文件不存在,那麼Web服務器迴應一個404錯誤。

您需要將文件系統路徑轉換爲URL才能在標記中使用它。 (並且該路徑需要在其自己的路徑結構內對Web服務器公開可見)。