How to save image in sql server 2012 database using JAVA.

package Image_data;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

public class Save_Image {

public static void main(String[] args) {



     
               DB db = new DB();
               Connection conn=db.dbConnect(
                 "jdbc:jtds:sqlserver://localhost:1433/test","sa","");
               db.insertImage(conn,"d://filepath//test.JPG");
               db.getImageData(conn);
     



class DB
{
       public DB() {}

       public Connection dbConnect(String db_connect_string,
          String db_userid, String db_password)
       {
               try
               {
                       Class.forName("net.sourceforge.jtds.jdbc.Driver");
                       Connection conn = DriverManager.getConnection(
                         db_connect_string, db_userid, db_password);

                       System.out.println("connected");
                       return conn;
                       
               }
               catch (Exception e)
               {
                       e.printStackTrace();
                       return null;
               }
       }

       public void insertImage(Connection conn,String img)
       {
               int len;
               String query;
               PreparedStatement pstmt;
               
               try
               {
                       File file = new File(img);
                       FileInputStream fis = new FileInputStream(file);
                       len = (int)file.length();

                       query = ("insert into TableImage VALUES(?,?,?)");
                       pstmt = conn.prepareStatement(query);
                       pstmt.setString(1,file.getName());
                       pstmt.setInt(2, len);
 
                       // Method used to insert a stream of bytes
                       pstmt.setBinaryStream(3, fis, len);
                       pstmt.executeUpdate();

               }
               catch (Exception e)
               {
                       e.printStackTrace();
               }
       }

       public void getImageData(Connection conn)
       {
               
                byte[] fileBytes;
                String query;
                try
                {
                        query = "select data from tableimage";
                        Statement state = conn.createStatement();
                        ResultSet rs = state.executeQuery(query);
                        if (rs.next())
                       {
                                 fileBytes = rs.getBytes(1);
                                 OutputStream targetFile=
                                 new FileOutputStream(
                                      "d://filepath//new.JPG");

                                 targetFile.write(fileBytes);
                                 targetFile.close();
                       }      
                       
                }
                catch (Exception e)
                {
                        e.printStackTrace();
                }
       }
};

}

}

Comments

Popular posts from this blog

Book ticket online through IRCTC using Selenium Webdriver.

How to create a New Gmail Account using Selenium Web Driver.

SQL Injection.