
Hai all,
I wrote a program to upload a file into specified directory and store the file path and username into database. for that i created a html page having browse option and text box i used commons-fileupload and commons-io APIs.
while i enterd username and upload file path
it uploaded successfully but in database table it gives null value for username and filepath was inserted successfully
is there any enctype="multipart/form-data" issue in case of giving null value for text field username
can any one help me
Thanks&Regards P.SriDivya

Please visit the following link:

Hi Everyone,
I wrote a program to upload an image file into specified directory. In my jsp page i take two input box one as text type and other one is file type as follows.
<input type="text" name="CategoryName">
<input type="file" name="txtImgName">
<form action="uploadservlet" enctype="multipart/form-data" method="POST">
<input type="text" name="CategoryName">
<input type="file" name="txtImgName"><br>
<input type="Submit" value="Upload File"><br>
</form>
public class Commonsfileuploadservlet extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
private static final String TMP_DIR_PATH = "c:\\tmp";
private File tmpDir;
private static final String DESTINATION_DIR_PATH = "/files";
private File destinationDir;
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
tmpDir = new File(TMP_DIR_PATH);
tmpDir.getName();
System.out.println("inside 0124 init function########## " + tmpDir.getName());
if (!tmpDir.isDirectory()) {
System.out.println("inside 1111111111");
throw new ServletException(TMP_DIR_PATH + " is not a directory");
} else {
System.out.println("tmpDir.isDirectory() is directory......");
}
System.out.println("after 22222#########");
String realPath1 = getServletContext().getRealPath(DESTINATION_DIR_PATH);
System.out.println("realpath 111111111 - > " + realPath1);
String realPath = "d:\\tmp";
System.out.println("after 3333######### real path" + realPath);
destinationDir = new File(realPath);
System.out.println("after 444#########");
if (!destinationDir.isDirectory()) {
System.out.println("insideeeeeeeee");
throw new ServletException(DESTINATION_DIR_PATH + " is not a directory");
} else {
System.out.println("not directry again***********");
}
System.out.println("after destination#########");
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String test="";
test=request.getParameter("temptest");
System.out.println("test---- > "+test);
DiskFileItemFactory fileItemFactory = new DiskFileItemFactory();
fileItemFactory.setSizeThreshold(1 * 1024 * 1024); //1 MB
/*
* Set the temporary directory to store the uploaded files of size above threshold.
*/
fileItemFactory.setRepository(tmpDir);
ServletFileUpload uploadHandler = new ServletFileUpload(fileItemFactory);
try {
List items = uploadHandler.parseRequest(request);
Iterator itr = items.iterator();
while (itr.hasNext()) {
FileItem item = (FileItem) itr.next();
if (item.isFormField()) {
out.println("File Name = " + item.getFieldName() + ", Value = " + item.getString());
} else {
//Handle Uploaded files.
out.println("Field Name = " + item.getFieldName()
+ ", File Name = " + item.getName()
+ ", Content type = " + item.getContentType()
+ ", File Size = " + item.getSize());
String catadd = "s" + "16" + ".png";
// File file = new File(destinationDir, item.getName());
File file = new File(destinationDir, catadd);
item.write(file);
System.out.println("File write successfullyYYYYYY...0201.....###################");
}
out.close();
}
} catch (FileUploadException ex) {
log("Error encountered while parsing the request", ex);
} catch (Exception ex) {
log("Error encountered while uploading file", ex);
}
}
in above servlet i m not able to get "CategoryName" value of jsp input box.but when i remove <enctype="multipart/form-data"> like :
<form action="Commonsfileuploadservlet" method="POST">
then i get the "CategoryName" value.can anyone please suggest me what thing i m missing?
thanks Ashwani

Hi evryone,
I wrote a program to upload an image file into specified directory. In my jsp page i take two input box one as text type and other one is file type as follows.
<input type="text" name="CategoryName">
<input type="file" name="txtImgName">
<form action="uploadservlet" enctype="multipart/form-data" method="POST">
<input type="text" name="CategoryName">
<input type="file" name="txtImgName"><br>
<input type="Submit" value="Upload File"><br>
</form>
public class Commonsfileuploadservlet extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
private static final String TMP_DIR_PATH = "c:\\tmp";
private File tmpDir;
private static final String DESTINATION_DIR_PATH = "/files";
private File destinationDir;
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
tmpDir = new File(TMP_DIR_PATH);
tmpDir.getName();
System.out.println("inside 0124 init function########## " + tmpDir.getName());
if (!tmpDir.isDirectory()) {
System.out.println("inside 1111111111");
throw new ServletException(TMP_DIR_PATH + " is not a directory");
} else {
System.out.println("tmpDir.isDirectory() is directory......");
}
System.out.println("after 22222#########");
String realPath1 = getServletContext().getRealPath(DESTINATION_DIR_PATH);
System.out.println("realpath 111111111 - > " + realPath1);
String realPath = "d:\\tmp";
System.out.println("after 3333######### real path" + realPath);
destinationDir = new File(realPath);
System.out.println("after 444#########");
if (!destinationDir.isDirectory()) {
System.out.println("insideeeeeeeee");
throw new ServletException(DESTINATION_DIR_PATH + " is not a directory");
} else {
System.out.println("not directry again***********");
}
System.out.println("after destination#########");
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String test="";
test=request.getParameter("temptest");
System.out.println("test---- > "+test);
DiskFileItemFactory fileItemFactory = new DiskFileItemFactory();
fileItemFactory.setSizeThreshold(1 * 1024 * 1024); //1 MB
/*
* Set the temporary directory to store the uploaded files of size above threshold.
*/
fileItemFactory.setRepository(tmpDir);
ServletFileUpload uploadHandler = new ServletFileUpload(fileItemFactory);
try {
List items = uploadHandler.parseRequest(request);
Iterator itr = items.iterator();
while (itr.hasNext()) {
FileItem item = (FileItem) itr.next();
if (item.isFormField()) {
out.println("File Name = " + item.getFieldName() + ", Value = " + item.getString());
} else {
//Handle Uploaded files.
out.println("Field Name = " + item.getFieldName()
+ ", File Name = " + item.getName()
+ ", Content type = " + item.getContentType()
+ ", File Size = " + item.getSize());
String catadd = "s" + "16" + ".png";
// File file = new File(destinationDir, item.getName());
File file = new File(destinationDir, catadd);
item.write(file);
System.out.println("File write successfullyYYYYYY...0201.....###################");
}
out.close();
}
} catch (FileUploadException ex) {
log("Error encountered while parsing the request", ex);
} catch (Exception ex) {
log("Error encountered while uploading file", ex);
}
}
in above servlet i m not able to get "CategoryName" value of jsp input box.but when i remove <enctype="multipart/form-data"> like :
<form action="Commonsfileuploadservlet" method="POST">
then i get the "CategoryName" value.can anyone please suggest me what thing i m missing?
thanks Ashwani
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.