我开发音乐网站。
在jsf
页面上,我有HTML audio
标记
如果音频文件位于WEB-INF
的父级中,例如
WebContent
|-- META-INF
|-- WEB-INF
-- some.mp3
我只想写下一段代码:
<audio ...>
<source src="#{request.contextPath}/some.mp3" type="audio/mpeg" />
</audio>
&#13;
但如果我的音频文件未在WebContent
文件夹中本地存储,我该怎么办?
我知道音频文件应该像BLOB一样存储在数据库中
从DB下载选定的音频后,我该如何表示?(String
数组,某种Stream
?)
在网络上看到的所有例子中,人们都会播放本地音频文件 那么,如何播放存储在数据库中的音频(在jsf页面上)
我希望你明白我想要的。
答案 0 :(得分:1)
您无法直接从数据库中读取文件:您必须将提供给客户端。
它适用于WebContent
文件夹中的文件,因为这些文件是由Web服务器自动提供的。
要提供存储在数据库中的文件,您需要编写FileServlet
。基本上这个文件servlet将:
查看this以获得FileServlet的良好开端。