Hi all,
In this post i will tell you how to insert image in a database (Oracle) through a Servlet.
First of all make a table in Oracle named "image_master" having three fields i.e id, name, image.
Step 1:- Creating table in database.
just copy / paste the code in oracle SQL command line:-
CREATE TABLE "IMAGE_MASTER"
( "ID" NUMBER NOT NULL ENABLE,
"NAME" VARCHAR2(40),
"IMAGE" BLOB,
CONSTRAINT "IMAGE_MASTER_PK" PRIMARY KEY ("ID") ENABLE
)
Step 2:- Create a Servlet for inserting image.
Now after creating the table, make a servlet named "InsertImage" which extends HttpServlet and overrides doGet() and doPost() method.
package others;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class InsertImage extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
/**
* make a database connection. Here we are making connection with oracle database.
* for Oracle Type-4 driver:-
* Driver Class = ("oracle.jdbc.driver.OracleDriver")
* Connection String = ("jdbc:oracle:thin:@localhost:1521:xe","user_name","password")
*/
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "system", "oralce");
/**
* making an object of FileInputStream for reading the image file in form of bytes.
* path of the file is provided as an argument.
*/
FileInputStream fis = new FileInputStream("c:/images/hello.jpg");
PreparedStatement st = con.prepareStatement("insert into image_master values(?,?,?)");
st.setInt(1, 1001);
st.setString(2, "Prakash");
/**
* method setBinaryStream() is used for inserting image in database.
*/
st.setBinaryStream(3, fis, fis.available());
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
Step 3:- Making web.xml entry:-

No comments :
Post a Comment