當我試圖從webcontent目錄中的文件中觀看jwplayer中的視頻時,它顯示出來並且我可以播放它,但是當我從數據庫中讀取相同的文件並響應一個通過servlet的flv不會顯示出來。誰能幫我?查看flv視頻由servletvideo java
在HTML文件:
<script type='text/javascript' src='/ThoughRecord18-8/jwplayer.js'></script>
<script type='text/javascript'>
jwplayer('mediaspace').setup({
'flashplayer': '/ThoughRecord18-8/player.swf',
'file': '/ThoughRecord18-8/videoss?videoId=1',
'controlbar': 'bottom',
'width': '470',
'height': '320'
});
</script>
並且servlet是
String videoId = request.getParameter("videoId");
if (videoId != null || !videoId.equals("")) {
VideoDao dao = new VideoDao();
Video video = dao.getVideo(videoId);
Blob blob = video.getVideoBlob();
byte[] buf = new byte[1024];
ByteArrayOutputStream baos = new ByteArrayOutputStream();
InputStream in = null;
int len;
try {
len = (int) blob.length();
byte[] rb = new byte[len];
InputStream readImg = blob.getBinaryStream();
int index = readImg.read(rb, 0, len);
...
response.reset();
response.setBufferSize(DEFAULT_BUFFER_SIZE);
response.setContentType("video/x-flv");
response.setContentLength(rb.length);
response.setHeader("Content-Disposition", "inline; filename=file.flv");
byte[] content = new byte[DEFAULT_BUFFER_SIZE];
BufferedInputStream is = new BufferedInputStream(
new ByteArrayInputStream(rb));
OutputStream os = response.getOutputStream();
while (is.read(content) != -1) {
os.write(content);
}
is.close();
os.close();**
如果您繞過JWPlayer直接從瀏覽器的位置欄中調用servlet,會發生什麼情況? –
@Mike - 我不太清楚你在哪裏移動「在Html文件中:」有意義 - 它顯然也是servlet代碼,而之前它在HTML之前。 – Flexo
實際上,當我編輯它時,這是問題的最後一行,沒有任何意義,所以我將它移動了一個塊,但是你說得對,那還是不對的。 –