Upload image into database in java.
Database table picture
CREATE TABLE `picture` ( `id` int(10) NOT NULL auto_increment, `image` blob, PRIMARY KEY (`id`) )
InsertImage.java
import java.sql.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class InsertImage extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ PrintWriter pw = response.getWriter(); /* Database connection, database name is test */ String connectionURL = "jdbc:mysql://localhost:3306/test"; Connection con=null; try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); /* Database connection, database id is root and password is blank */ con = DriverManager.getConnection(connectionURL, "root", ""); PreparedStatement ps = con.prepareStatement("INSERT INTO picture(image) VALUES(?)"); /* inserting image in pictures table*/ File file = new File("C:\\tomcat\\webapps\\upload\\images\\pic.jpg"); FileInputStream fs = new FileInputStream(file); ps.setBinaryStream(1,fs,fs.available()); int i = ps.executeUpdate(); if(i!=0){ pw.println("image inserted successfully"); } else{ pw.println("problem in image insertion"); } } catch (Exception e){ System.out.println(e); } } }
RetreiveImage.java
import java.sql.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class RetreiveImage extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ /* Database connection, database name is test */ String connectionURL = "jdbc:mysql://localhost:3306/test"; Connection con=null; try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); /* Database connection, database id is root and password is blank */ con=DriverManager.getConnection(connectionURL,"root",""); Statement st1=con.createStatement(); /* select the image from the picture table . */ ResultSet rs1 = st1.executeQuery("select image from picture where id=1"); String imgLen=""; if(rs1.next()){ imgLen = rs1.getString(1); } rs1 = st1.executeQuery("select image from picture where id=1"); if(rs1.next()){ int len = imgLen.length(); byte [] rb = new byte[len]; /* retrieving image in binery format*/ InputStream readImg = rs1.getBinaryStream(1); int index=readImg.read(rb, 0, len); System.out.println("index"+index); st1.close(); response.reset(); response.setContentType("image/jpg"); response.getOutputStream().write(rb,0,len); response.getOutputStream().flush(); } } catch (Exception e){ e.printStackTrace(); } } }
web.xml
<servlet> <servlet-name>InsertImage</servlet-name> <servlet-class>InsertImage</servlet-class> </servlet> <servlet-mapping> <servlet-name>InsertImage</servlet-name> <url-pattern>/InsertImage</url-pattern> </servlet-mapping> <servlet> <servlet-name>RetreiveImage</servlet-name> <servlet-class>RetreiveImage</servlet-class> </servlet> <servlet-mapping> <servlet-name>RetreiveImage</servlet-name> <url-pattern>/RetreiveImage</url-pattern> </servlet-mapping>



Link to Us