我在从jsp引用我的音轨位置时遇到问题。我已将轨道位置存储在数据库中,当我打印路径时,一切看起来都很好。我错过了HTML中的内容吗?
我的HTML:
<table width="100%">
<tr>
<td align="center">
<EMBED src=" <%=randTrack.getTrackLocation()%> " autostart=true controller=false hidden=false>
</td>
</tr>
我的曲目存储为“C:\ General \ Music \ Bellx1 - Flock \ Bad Skin Day.mp3”,数据库中没有引号。
由于
答案 0 :(得分:0)
尝试使用“\\
”代替“\
”。
答案 1 :(得分:0)
它必须是HTTP位置,而不是本地磁盘文件系统位置。所以src
需要看起来像http://example.com/music/foo.mp3,绝对不是C:\ music \ foo.mp3。由于两个原因,本地磁盘文件系统无法运行:
HTML从webserver发送到webbrowser并在webbrowser上运行。路径在Web浏览器中解析,而不是在Web服务器上解析。您的Web访问者不一定在C:盘上具有此文件。他们甚至可能根本没有C:盘(linux用户)。
即使他们(你可能只是 ),它也无法在大多数浏览器上运行,因为在提供HTML页面时忽略本地资源存在安全限制通过HTTP。
根据您使用的网络服务器,有多种解决方案。最简单的方法是将文件夹放在JSP文件旁边的公共webcontent中。如果由于某种原因这不是一个选项,那么最好的办法是创建一个servlet,从本地磁盘文件系统获取InputStream
并将其写入OutputStream
HTTP响应。您可以在this article中找到基本的启动示例。