2011-04-16 59 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