将base64添加到src时,将src添加到视频源不起作用

时间:2017-09-11 07:39:06

标签: java jquery video base64

我正在使用java从oracle数据库中检索视频,并使用base64值发送响应这里是我的java代码

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    {   String video64="";   
    System.out.println("service");
        try {   
            PreparedStatement ps=cn.prepareStatement("select * from video ");
            ResultSet rs=ps.executeQuery();
            rs.next();
            Blob vedio=rs.getBlob(1);    
        System.out.println("try");
            if(vedio !=null)   
            {
            byte videobytes[]=vedio.getBytes(1,(int)vedio.length());
            video64 = DatatypeConverter.printBase64Binary(videobytes);
            } 
        } catch (SQLException e) {  
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println(video64);  
        response.getWriter().write(video64);      
    }
 here is my html 
<video controls> 
  <source type="video/mp4"  id="v"> 
</video>

我正在使用ajax调用来发送请求并使用jquery将我的响应添加到<source type="video/mp4" id="v"> 这是ajax

$("#sub").click(function(){  
        $.ajax({
                url:"RetriveVedio",
                method: "get",
                dataType: 'text', 
                success:function(response){
                    console.log(response);
                    $("#v").attr("src",'data:video/mp4;base64,'+response);
                    $("#v").load();
                }   
        });     
    });  

src未添加到源代码中,base64值也不适用于video tag 这是我获得的base64值作为响应AAAAGGZ0eXBtcDQyAAAAAG1wNDFpc29tBNjldm1kYXQAAAAAAAAAEAA= 这有什么问题?

1 个答案:

答案 0 :(得分:0)

上述代码的所有内容都很好。但blob不正确,当我使用java将视频插入database视频时未正确转换为byteStream。 这就是回复AAAAGGZ0eXBtcDQyAAAAAG1wNDFpc29tBNjldm1kYXQAAAAAAAAAEAA=错误的原因。 这就是为什么上面的代码不起作用