Hi,
Please check this code..hope u will gt idea.
create a jsp file(frontend) to upload the image
and create another file to store the image.
code.
--------
<%@ page language="java" import="java.io.*,java.sql.*,java.net.URLEncoder,java.util.*,javax.servlet.*,javax.servlet.http.*,javax.servlet.jsp.JspWriter" %>
<html>
<body bgcolor="#FFFFFF" text="#660033" background="" bgproperties=fixed>
<%!private
String UploadFile(String s, String s1, String s2, ServletInputStream servletinputstream, String s3)
throws ServletException, IOException
{
System.out.println("Into UploadFile method");
Object forLock1 = new Object();
String newline = "\n";
String s6 = null;
String s7 = "";
byte abyte0[] = new byte[4096];
byte abyte1[] = new byte[4096];
int ai[] = new int[1];
int ai1[] = new int[1];
long l = 0L;
String s8 = getId();
String s4;
while((s4 = readLine(abyte0, ai, servletinputstream, s3)) != null)
{
int i = s4.indexOf("filename=");
if(i >= 0)
{
s4 = s4.substring(i + 10);
i = s4.indexOf("\"");
if(i > 0)
s4 = s4.substring(0, i);
break;
}
}
if(s != null)
s4 = s;
s7 = s4;
if(s7 != null)
{
s7 = getFileName(s7);
String s5 = readLine(abyte0, ai, servletinputstream, s3);
if(s5.indexOf("Content-Type") >= 0)
readLine(abyte0, ai, servletinputstream, s3);
File file = new File(s1, s8);
FileOutputStream fileoutputstream = new FileOutputStream(file);
while((s5 = readLine(abyte0, ai, servletinputstream, s3)) != null)
{
if(s5.indexOf(s2) == 0 && abyte0[0] == 45)
break;
if(s6 != null && l <= 75L)
{
fileoutputstream.write(abyte1, 0, ai1[0]);
fileoutputstream.flush();
}
s6 = readLine(abyte1, ai1, servletinputstream, s3);
if(s6 == null || s6.indexOf(s2) == 0 && abyte1[0] == 45)
break;
fileoutputstream.write(abyte0, 0, ai[0]);
fileoutputstream.flush();
}
byte byte0;
if(newline.length() == 1)
byte0 = 2;
else
byte0 = 1;
if(s6 != null && abyte1[0] != 45 && ai1[0] > newline.length() * byte0)
fileoutputstream.write(abyte1, 0, ai1[0] - newline.length() * byte0);
if(s5 != null && abyte0[0] != 45 && ai[0] > newline.length() * byte0)
fileoutputstream.write(abyte0, 0, ai[0] - newline.length() * byte0);
fileoutputstream.flush();
fileoutputstream.close();
try
{
synchronized(forLock1)
{
File file1 = new File(s1, s7);
try
{
file1.delete();
}
catch(Exception _ex) { }
file.renameTo(file1);
}
}
catch(Exception _ex) { }
} else
{
throw new IOException();
}
return s7;
}
%>
<%! private Hashtable getConfig(String s)
{
Hashtable cfgs = new Hashtable();
Hashtable hashtable;
if(s != null)
hashtable = (Hashtable)cfgs.get(s);
else
hashtable = getDefaultConfig();
if(hashtable != null)
if(s != null)
{
String s1 = (String)hashtable.get("edited");
File file = new File(s);
if(file == null)
cfgs.remove(s);
else
if(!s1.equals(String.valueOf(file.lastModified())))
cfgs.remove(s);
else
return hashtable;
} else
{
return hashtable;
}
hashtable = new Hashtable();
readConfig(hashtable, s);
cfgs.put(s, hashtable);
return hashtable;
}
%>
<%!private Hashtable getDefaultConfig()
{
Hashtable hashtable = new Hashtable();
hashtable.put("dir", "/photos");
hashtable.put("edited", "");
return hashtable;
}
private String getFileName(String s)
{
int i = s.lastIndexOf("\\");
if(i < 0 || i >= s.length() - 1)
{
i = s.lastIndexOf("/");
if(i < 0 || i >= s.length() - 1)
return s;
}
return s.substring(i + 1);
}
%>
<%!private String getId()
{
int HOW_LONG = 6;
String s = "";
Object SessionIdLock = new Object();
synchronized(SessionIdLock)
{
long l = System.currentTimeMillis();
Random random = new Random();
s = String.valueOf(l);
for(int i = 1; i <= HOW_LONG; i++)
s = s + (int)(1.0D + (double)HOW_LONG * random.nextDouble());
}
return s;
}
%>
<%!private void readConfig(Hashtable hashtable, String s)
{
try
{
BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(new FileInputStream(s)));
String s1;
while((s1 = bufferedreader.readLine()) != null)
{
s1 = s1.trim();
if(s1.length() > 0)
{
int i = s1.indexOf("=");
if(i > 0 && i < s1.length() - 1 && s1.charAt(0) != '#' && !s1.startsWith("//"))
hashtable.put(s1.substring(0, i).trim(), s1.substring(i + 1).trim());
}
}
bufferedreader.close();
File file = new File(s);
hashtable.put("edited", String.valueOf(file.lastModified()));
}
catch(Exception _ex) { }
String s2;
if((s2 = (String)hashtable.get("port")) != null)
try
{
int j = Integer.parseInt(s2);
if(j <= 0)
hashtable.remove("port");
}
catch(Exception _ex)
{
hashtable.remove("port");
}
if((s2 = (String)hashtable.get("domain")) != null && s2.length() == 0)
hashtable.remove("domain");
if((s2 = (String)hashtable.get("reply")) != null && s2.length() == 0)
hashtable.remove("reply");
if((s2 = (String)hashtable.get("from")) != null && s2.length() == 0)
hashtable.remove("from");
if((s2 = (String)hashtable.get("to")) != null && s2.length() == 0)
hashtable.remove("to");
if((s2 = (String)hashtable.get("name")) != null && s2.length() == 0)
hashtable.remove("name");
if((s2 = (String)hashtable.get("dir")) != null && s2.length() == 0)
hashtable.remove("dir");
if(hashtable.get("port") == null)
hashtable.put("port", "25");
if(hashtable.get("subject") == null)
hashtable.put("subject", "see attachment for the uploaded file");
if(hashtable.get("attach") == null)
hashtable.put("attach", "1");
if(hashtable.get("dir") == null)
hashtable.put("dir", ".");
if(hashtable.get("edited") == null)
hashtable.put("edited", "");
}
%>
<%! private String readLine(byte abyte0[], int ai[], ServletInputStream servletinputstream, String s)
{
try
{
ai[0] = servletinputstream.readLine(abyte0, 0, abyte0.length);
if(ai[0] == -1)
return null;
}
catch(IOException _ex)
{
return null;
}
try
{
if(s == null)
return new String(abyte0, 0, ai[0]);
else
return new String(abyte0, 0, ai[0], s);
}
catch(Exception _ex)
{
return null;
}
}
%>
<%! private String replace(String s, String s1, String s2)
{
int i = s.indexOf(s1);
if(i < 0)
return s;
StringBuffer stringbuffer = new StringBuffer("");
if(i > 0)
stringbuffer.append(s.substring(0, i));
stringbuffer.append(s2);
if(i + s1.length() >= s.length())
{
return stringbuffer.toString();
} else
{
stringbuffer.append(replace(s.substring(i + s1.length()), s1, s2));
return stringbuffer.toString();
}
}
%>
<%
String user=(String)session.getValue("emp_id");
if(user == null)
{
response.sendRedirect("Redirect.html");
}
else
{
System.out.println("Starting NewEmployeeUploadSubmit.jsp");
String empid=(String)session.getValue("empidnew");
boolean flag=false;
String s = "";
String s3 = "";
String s4 = "";
String s5 = null;
String s6 = null;
String s7 = null;
ServletInputStream servletinputstream = null;
String s1 = request.getQueryString();
System.out.println("QueryString="+s1);
Hashtable hashtable = getConfig(s1);
s3 = (String)hashtable.get("dir");
System.out.println("s3="+s3);
s4 = (String)hashtable.get("reply");
s = (String)hashtable.get("name");
System.out.println("s="+s);
s5 = (String)hashtable.get("session");
servletinputstream = request.getInputStream();
s6 = request.getCharacterEncoding();
System.out.println("s6="+s6);
s7 = request.getContentType();
System.out.println("s7="+s7);
int i;
if((i = s7.indexOf("boundary=")) != -1)
{
s7 = s7.substring(i + 9);
s7 = "--" + s7;
}
String t7 = "";
try
{
// s1 = UploadFile(s, s3, s7, servletinputstream, s6);
Object forLock1 = new Object();
String newline = "\n";
String t6 = null;
byte abyte0[] = new byte[4096];
byte abyte1[] = new byte[4096];
int ai[] = new int[1];
int ai1[] = new int[1];
long l = 0L;
String t8 = getId();
String t4;
while((t4 = readLine(abyte0, ai, servletinputstream, s6)) != null)
{
int k = t4.indexOf("filename=");
if(k >= 0)
{
t4 = t4.substring(k + 10);
k = t4.indexOf("\"");
if(k > 0)
t4 = t4.substring(0, k);
break;
}
}
if(s != null)
t4 = s;
t7 = t4;
if(t7 != null)
{
t7 = getFileName(t7);
int index = t7.lastIndexOf(".");
String extension=t7.substring(index+1,t7.length());
if(!(t7.substring(0,index).equals(empid)))
{
%>
<%="<script Language='JavaScript'>alert('Please upload file with the name same as employee code.');history.back(); </script>"%>
<% return;
}
if(!extension.equals("jpg") && !extension.equals("jpeg"))
{
%>
<%="<script Language='JavaScript'>alert('Please upload files with extension jpg or jpeg only.');history.back(); </script>"%>
<% return;
}
String path = "/photos";
File f = new File(path);
if(f.exists())
{
String files[] = f.list();
for(int m=0;m<files.length;m++)
{
if(files[m].equals(t7))
{
flag =true;
%>
<%="<script Language='JavaScript'>alert('This filename already exists.Please give another file name');history.back(); </script>"%>
<%
break;
}
}
}
else
{
System.out.println("path does not exist");
}
String t5 = readLine(abyte0, ai, servletinputstream, s6);
if(t5.indexOf("Content-Type") >= 0)
readLine(abyte0, ai, servletinputstream, s6);
File file = new File(s3, t8);
FileOutputStream fileoutputstream = new FileOutputStream(file);
while((t5 = readLine(abyte0, ai, servletinputstream, s6)) != null)
{
if(t5.indexOf(s7) == 0 && abyte0[0] == 45)
break;
if(t6 != null && l <= 75L)
{
fileoutputstream.write(abyte1, 0, ai1[0]);
fileoutputstream.flush();
}
t6 = readLine(abyte1, ai1, servletinputstream, s6);
if(t6 == null || t6.indexOf(s7) == 0 && abyte1[0] == 45)
break;
fileoutputstream.write(abyte0, 0, ai[0]);
fileoutputstream.flush();
}
byte byte0;
if(newline.length() == 1)
byte0 = 2;
else
byte0 = 1;
if(t6 != null && abyte1[0] != 45 && ai1[0] > newline.length() * byte0)
fileoutputstream.write(abyte1, 0, ai1[0] - newline.length() * byte0);
if(t5 != null && abyte0[0] != 45 && ai[0] > newline.length() * byte0)
fileoutputstream.write(abyte0, 0, ai[0] - newline.length() * byte0);
fileoutputstream.flush();
fileoutputstream.close();
try
{
synchronized(forLock1)
{
File file1 = new File(s3, t7);
try
{
file1.delete();
}
catch(Exception _ex) { }
file.renameTo(file1);
}
}
catch(Exception _ex) { }
} else
{
throw new IOException();
}
//System.out.println("....t7="+t7);
}
catch(Exception _ex)
{
response.setContentType("text/html"); %>
<br><br>Could not upload file
<%
return;
}
String s2;
//if((s2 = (String)hashtable.get("log")) != null)
// writeLog(s2, request.getRemoteAddr(), s1);
if(s5 != null)
{
}
//System.out.println("S4="+s4);
if(s4 != null)
{
s4 = replace(s4, "$f", URLEncoder.encode(s1));
if(s4.toUpperCase().startsWith("HTTP"))
{
response.sendRedirect(response.encodeRedirectURL(s4));
} else
{
RequestDispatcher requestdispatcher = getServletConfig().getServletContext().getRequestDispatcher(s4);
requestdispatcher.forward(request,response);
}
} else
{
// response.sendRedirect("Thanks.html");
}
if(flag==false)
{
// String dept = request.getParameter("dept");
// String qry = "INSERT INTO newemployee(emp_id,state,empname,dept,desig,doj,details,showdate) VALUES('"+empid+"','"+state+"','"+empname+"',"+dept+",'"+desig+"','"+doj+"','"+details+"','"+date1+"')";
//System.out.println("qry="+qry);
//int n = db.insert(qry);
//System.out.println("n="+n);
int n=1;
if(n>0)
{
%>
<%="<script language='JavaScript'>alert('The new Employee is added'); location.href='Org_Depts_Links1.jsp';</script>"%>
<%
}
}
}
%>