Now first I am writing a class file
FileUploadListner.java
package servlet;
import org.apache.commons.fileupload.ProgressListener;
public class FileUploadListener implements ProgressListener
{
private volatile long
bytesRead = 0L,
contentLength = 0L,
item = 0L;
public FileUploadListener()
{
super();
}
public void update(long aBytesRead, long aContentLength, int anItem)
{
bytesRead = aBytesRead;
contentLength = aContentLength;
item = anItem;
}
public long getBytesRead()
{
return bytesRead;
}
public long getContentLength()
{
return contentLength;
}
public long getItem()
{
return item;
}
}
Now I am writing a servlet which will insert the file into database.
MyUploadServlet.java
package servlet;Here DBConnection is a class file.I am using this class to connect to mysql database from my eclipse.I made a connection pooling from apache tomcat 5.5 to Mysql.This class file is given below.
import DBConnection;
import javax.servlet.http.HttpServlet;
import javax.servlet.Servlet;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Iterator;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import java.sql.*;
public class MyUploadServlet extends HttpServlet implements Servlet
{
private String filename;
public MyUploadServlet()
{
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doPost(request,response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
DBConnection con=new DBConnection();
PrintWriter ptr=response.getWriter();
String jnan="";
// create file upload factory and upload servlet
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
// set file upload progress listener
FileUploadListener listener = new FileUploadListener();
HttpSession session = request.getSession();
session.setAttribute("LISTENER", listener);
// upload servlet allows to set upload listener
upload.setProgressListener(listener);
List uploadedItems = null;
FileItem fileItem = null;
try
{
// iterate over all uploaded files
uploadedItems = upload.parseRequest(request);
Iterator i = uploadedItems.iterator();
String str1[]={"","","","","","","","","","","","",""};
int cc=0;
while (i.hasNext())
{
fileItem = (FileItem) i.next();
if(fileItem.isFormField() == true&&cc!=2)
{
jnan=String.valueOf(fileItem);
jnan=jnan.substring(jnan.indexOf("FieldName=")+10,jnan.length());
str1[cc]=jnan;
cc++;
}
if (fileItem.isFormField() == false)
{
if (fileItem.getSize() > 0)
{
File uploadedFile = null;
String myFullFileName = fileItem.getName(),
myFileName = "",
slashType = (myFullFileName.lastIndexOf("\\") > 0) ? "\\" : "/"; // Windows or UNIX
int startIndex = myFullFileName.lastIndexOf(slashType);
//Get File Name
myFileName = myFullFileName.substring(startIndex + 1, myFullFileName.length());
//Get File Extension
String fileExt=myFileName.substring(myFileName.indexOf("."),myFileName.length());
// Create new File object
try{
ByteArrayInputStream bs=new ByteArrayInputStream(fileItem.get());
String query="INSERT INTO image(img) VALUES(?)";
PreparedStatement pst=con.conn.prepareStatement(query);
pst.setBinaryStream(1, bs,(int)fileItem.getSize());
pst.execute();
}
catch(Exception e)
{
System.out.println("in MyUploadServlet..Error:- "+e.getMessage());
}
}
}
}
}
catch (FileUploadException e)
{
System.out.println("in MyUploadServlet..Error:- "+e.getMessage());
}
catch (Exception e)
{
System.out.println("in MyUploadServlet..Error:- "+e.getMessage());
}
finally
{
con.DisconnectCon();
}
}
}
DBConnection.java:-
import javax.naming.Context;Done....The file is there in Database...
import javax.naming.InitialContext;
import javax.sql.DataSource;
public class DBConnection {
private javax.naming.Context ic;
private javax.sql.DataSource ds;
public java.sql.Connection conn;
public DBConnection()
{
try
{
ic=(Context)new InitialContext().lookup("java:comp/env");
ds=(DataSource)ic.lookup("jdbc/MyJndiName");
conn=ds.getConnection();
}
catch(Exception e)
{
System.out.println("Error in DBConnection "+e.getMessage());
}
}
public void DisconnectCon()
{
try
{
conn.close();
}
catch(Exception e)
{
System.out.println("Error in DisconnectCon "+e.getMessage());
}
}
}
Thanks
Now We need to display the file from database into the flex RIA...I mean we have to Create an Image gallery in Flex!!! Comming Next