How to display more image from database using JSP

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • selvasoft
    New Member
    • Mar 2010
    • 34

    How to display more image from database using JSP

    Hi

    Please help me i want display all images from my database.
    but here my code that will display only one image from database.
    But i want all images, any one help me.

    Code:
    <html>
    <head>
    <title></title>
    </head>
    <body bgcolor ='#F5F5F5'>
    <font face='Bitstream Vera Sans' color='#CD5C5C'>
    <form name="Form1"  >
    </font>
    <%@ page import ="java.sql.*,java.util.*,java.awt.*,java.io.*" %>
    
    <%!
    
    %>
    
    <%!
          String DomainName ="jdbc:oracle:thin:@192.168.251.28:1521:ss";
          String UserName="sss";
          String PassWord="ssss";
    
          private byte[] getReturnInvoiceDetails(String SId)
          {
    
               byte[] image = new byte[300000];
               try
               {
                      
                      int n=0;
                      n =System.in.available();
                      image = new byte[n];
                     Image pic =null;
                      Blob blob =null;
    
                      String QS =" Select shadeimg  from ShadeCardSample Where id =26";
    
                       Class.forName("oracle.jdbc.OracleDriver");
                       Connection cn=DriverManager.getConnection(DomainName,UserName,PassWord);  
                       Statement  st=cn.createStatement();
                       ResultSet  rs= st.executeQuery(QS);
         
                       while(rs.next())
                       {
                         image  =rs.getBytes(1);
                         
                       }
                       
                 }
               catch(Exception e)
               {
                   System.out.println(e);
               }
    
            return image;
          }
    %>
    
    <%
        
        String ID =(String)request.getParameter("IMGID");
    
        byte[] Pic = getReturnInvoiceDetails(ID);
        response.setContentType("image/gif");
        OutputStream o =response.getOutputStream();
        o.write(Pic);
        o.flush();
        o.close();
        out.close();    
    %>
    </form>
    <body>
    </html>
  • jkmyoung
    Recognized Expert Top Contributor
    • Mar 2006
    • 2057

    #2
    You probably need an Vector of arrays of bytes, eg something like:
    Code:
    Vector<byte[]> images = new Vector<byte>()
    
    ...
    while(rs.next()) 
    { 
       image = new byte[300000]
       image = rs.getBytes(1); 
       images.add(image);
    }
    and have your display code iterate through the vector similarly.

    Comment

    • selvasoft
      New Member
      • Mar 2010
      • 34

      #3
      Hi jkmyoung

      Thanks for your idea. I will try that.



      -selvasoft

      Comment

      • selvasoft
        New Member
        • Mar 2010
        • 34

        #4
        hi jkmyoung

        Am try that. But i cant able to find correct solution please give me any one example.








        -selvasoft

        Comment

        • Neduncheran
          New Member
          • Aug 2013
          • 1

          #5
          String QS =" Select shadeimg from ShadeCardSample Where id =26";
          above query display only one image and change the query

          Comment

          Working...