how to upload and download images in java?

how to upload and download images in java?

what is the code for uploading and downloading images in java? how do I make a photo gallery through JSP? I want to create a photo gallery for each user which can be viewed by all users but can be updated and deleted by the creator. Please give me suggestions.

View Answers

March 14, 2011 at 3:17 PM

Upload and Download images:

1)page.jsp:

<%@ page language="java" %>
<HTML>
<HEAD><TITLE>Display file upload form to the user</TITLE></HEAD>
<BODY> <FORM ENCTYPE="multipart/form-data" ACTION="upload.jsp" METHOD=POST>
<br><br><br>
<center>
<table border="0" bgcolor=#ccFDDEE>
<tr>
<center>
<td colspan="2" align="center"><B>UPLOAD THE FILE</B><center></td>
</tr>
<tr>
<td colspan="2" align="center"> </td>
</tr>
<tr>
<td><b>Choose the file To Upload:</b></td>
<td><INPUT NAME="file" TYPE="file"></td>
</tr>
<tr>
<td colspan="2" align="center"> </td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Send File"> </td>
</tr>
<table>
</center>
</FORM>
</BODY>
</HTML>

2)upload.jsp:

<%@ page import="java.io.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.zip.*"%>
<%
String saveFile="";
String contentType = request.getContentType();
if((contentType != null)&&(contentType.indexOf("multipart/form-data") >= 0)){
DataInputStream in = new DataInputStream(request.getInputStream());
int formDataLength = request.getContentLength();
byte dataBytes[] = new byte[formDataLength];
int byteRead = 0;
int totalBytesRead = 0;
while(totalBytesRead < formDataLength){
byteRead = in.read(dataBytes, totalBytesRead,formDataLength);
totalBytesRead += byteRead;
}
String file = new String(dataBytes);
saveFile = file.substring(file.indexOf("filename=\"") + 10);
saveFile = saveFile.substring(0, saveFile.indexOf("\n"));
saveFile = saveFile.substring(saveFile.lastIndexOf("\\") + 1,saveFile.indexOf("\""));
int lastIndex = contentType.lastIndexOf("=");
String boundary = contentType.substring(lastIndex + 1,contentType.length());
int pos;
pos = file.indexOf("filename=\"");
pos = file.indexOf("\n", pos) + 1;
pos = file.indexOf("\n", pos) + 1;
pos = file.indexOf("\n", pos) + 1;
int boundaryLocation = file.indexOf(boundary, pos) - 4;
int startPos = ((file.substring(0, pos)).getBytes()).length;
int endPos = ((file.substring(0, boundaryLocation)).getBytes()).length;
File ff = new File(saveFile);
FileOutputStream fileOut = new FileOutputStream(ff);
fileOut.write(dataBytes, startPos, (endPos - startPos));
fileOut.flush();
fileOut.close();
%><Br><table border="2"><tr><td><b>You have successfully upload the file:</b>
<% out.println(saveFile);%></td></tr></table>
<%
Connection connection = null;
String connectionURL = "jdbc:mysql://localhost:3306/test";
ResultSet rs = null;
PreparedStatement psmnt = null;
FileInputStream fis;
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(connectionURL, "root", "root");
File f = new File(saveFile);
psmnt = connection.prepareStatement("insert into image(images) values(?)");
fis = new FileInputStream(f);
psmnt.setBinaryStream(1, (InputStream)fis, (int)(f.length()));
int s = psmnt.executeUpdate();
if(s>0){
System.out.println("Uploaded successfully !");
}
else{
System.out.println("Error!");
}
}
catch(Exception e){e.printStackTrace();}
}
%>
<a href="showimages.jsp">Download Image</a>

March 14, 2011 at 3:18 PM

3)showimages.jsp:

<%@ page import="java.sql.*,java.io.*,java.util.*" %> 
<HTML>
 <HEAD>
  <TITLE>Download Images</TITLE>
  </HEAD>

 <BODY>
   <br><br>
  <table align="center" border=0 width="200px">
   <tr>
    <td colspan=2 align="center"><b>Download Images</b></td>
  </tr>
  <tr><td colspan=2>&nbsp;</td></tr>
  <%

  String connectionURL = "jdbc:mysql://localhost:3306/test";
  Connection con=null;
  try{      
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    con=DriverManager.getConnection(connectionURL,"root","root");
    Statement stmt=con.createStatement();
    String strQuery = "select id from image";
    ResultSet rs = stmt.executeQuery(strQuery);
    while(rs.next())
    {

      %>
      <tr style="background-color:#efefef;">
      <td><%=rs.getInt(1)%></td>
      <td>
<a href="images.jsp?imgid=<%=rs.getInt(1)%>">
<img src="images.jsp?imgid=<%=rs.getInt(1)%>" width="50" height="50">
</a></td>
      </tr>
      <%
    }
    rs.close();
    con.close();
    stmt.close();
  }
  catch(Exception e)
  {
    e.getMessage();
  }
  %>
 </table>
  </BODY>
</HTML>

4)images.jsp:

<%@ page import="java.sql.*,java.io.*,java.util.*" %> 
<%
String connectionURL = "jdbc:mysql://localhost:3306/test";
if(request.getParameter("imgid")!=null && request.getParameter("imgid")!="")
{
  int id =  Integer.parseInt(request.getParameter("imgid"));

  String filename = "image"+id+".jpg";
  Connection con=null;
  try{      
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    con=DriverManager.getConnection(connectionURL,"root","root");      
    Statement st1=con.createStatement();
    String strQuery = "select images from image where id="+id;

    ResultSet rs1 = st1.executeQuery(strQuery);

    String imgLen="";
    if(rs1.next()){
      imgLen = rs1.getString(1);
       }  
    rs1 = st1.executeQuery(strQuery);
    if(rs1.next()){
      int len = imgLen.length();
      byte [] rb = new byte[len];
      InputStream readImg = rs1.getBinaryStream(1);
      int index=readImg.read(rb, 0, len);  
      st1.close();
      response.reset();
      response.setContentType("image/jpg");
      response.setHeader("Content-disposition","attachment; filename=" +filename);
      response.getOutputStream().write(rb,0,len); 
      response.getOutputStream().flush();        
    }
  }
  catch (Exception e){
    e.printStackTrace();
  }
}
%>









Related Tutorials/Questions & Answers:
how to upload and download images using buttons in jsp?
how to upload and download images in java?
Advertisements
images upload
How to upload and download file in hadoop?
difference between java5 and java6 - Java Beginners
upload images - JSP-Servlet
Java2
How to upload multiple images in java(struts) using jsp?
How to upload multiple images in java(struts) using jsp?
How to upload multiple images in java(struts) using jsp?
How to upload multiple images in java(struts) using jsp?
How to upload multiple images in java(struts) using jsp?
How to upload multiple images in java(struts) using jsp?
How to upload multiple images in java(struts) using jsp?
How to upload multiple images in java(struts) using jsp?
How to upload multiple images in java(struts) using jsp?
about java1
upload and download mp3
Upload and Download multiple files
file upload download - Java Beginners
upload and download video
Photo upload, Download
upload and download files - JSP-Servlet
ModuleNotFoundError: No module named 'google_images_download'
ModuleNotFoundError: No module named 'google_images_download'
ModuleNotFoundError: No module named 'google_images_download'
ModuleNotFoundError: No module named 'yandex-images-download'
ModuleNotFoundError: No module named 'yandex-images-download'
ModuleNotFoundError: No module named 'yandex-images-download'
ModuleNotFoundError: No module named 'google_images_download'
upload and download a file - Java Beginners
Upload and Download Large files in jsp
Javah
Upload and Download in JSP - JSP-Servlet
Upload and download file - JSP-Servlet
javaa swings - IDE Questions
dyanamic upload of images using struts without database connection
java code to upload and download a file - Java Beginners
code to upload and download a file - Java Magazine
About Java2
File Upload And download JSP Urgent - JSP-Servlet
upload ,download and update file document - JDBC
Download images from Database in JSP
Javap Tool application
how to space images in html code
Maven dependency for com.gooddata - gooddata-http-client version 1.0.0+java7 is released. Learn to use gooddata-http-client version 1.0.0+java7 in Maven based Java projects
upload and download all kinds of files in jsp - Java Beginners
i want image upload and download useing STRUTS 1.2 version example..
how to display multiple images on browser
how to display multiple images on browser

Ads