2011-04-16 60 views
0

我遇到了從jsp引用我的軌道位置的問題。我已將軌道位置存儲在數據庫中,當我打印路徑時,一切看起來都很好。我在HTML中丟失了什麼?從HTML引用文件夾路徑的問題

我的HTML:

<table width="100%"> 
<tr> 
    <td align="center"> 
     <EMBED src=" <%=randTrack.getTrackLocation()%> " autostart=true controller=false hidden=false> 
    </td> 
</tr> 

我的軌跡存儲爲 「C:\一般\音樂\ Bellx1 - 雞羣\皮膚不健康Day.mp3」 沒有在DB的報價。

由於使用的 「\\」,而不是 「\

回答

0

它必須是HTTP位置,而不是本地磁盤文件系統位置。所以src需要看起來像http://example.com/music/foo.mp3,絕對不是C:\ music \ foo.mp3。本地磁盤的文件系統是行不通的原因有兩個:

  1. HTML從web服務器發送到web瀏覽器和網頁瀏覽器在運行。路徑在網頁瀏覽器中解析,而不是在網絡服務器上解析。您的網絡訪問者不一定在C盤上有這個文件。他們甚至可能根本沒有C盤(linux用戶)。

  2. 即使他們(你可能會是之一),它不會因爲安全限制的大多數瀏覽器工作時HTML頁面都通過HTTP忽略本地資源。

根據您使用的網絡服務器,有幾種解決方案。最簡單的辦法就是將文件夾放在JSP文件旁邊的公共webcontent中。如果出於某種原因,這不是一個選項,那麼最好的辦法是創建一個servlet,它從本地磁盤文件系統獲得它的InputStream,並將它寫入HTTP響應的OutputStream。您可以在this article中找到基本的開球示例。

+0

感謝您的回答,非常感謝。 – user676567 2011-04-16 13:03:03

0

嘗試。

+0

感謝您的resp,只是試過,它仍然無法正常工作。還有其他建議嗎? – user676567 2011-04-16 10:50:15